ASP.NET:在客户机上获取文件路径(任何可能的解决方案/解决方法?)

我在.aspx页面上有一个文件上传控件,我在那里提取基本文件信息。 要求是我需要将所选文件的绝对路径从客户机的机器保存到数据库。

我已经阅读过这个网站以及其他地方的ASP.NET本质上由于安全原因不允许从客户机上读取信息。

但我想知道是否有办法解决这个问题,使用js或其他东西来获取绝对路径,然后将其传递给asp.net变量?

关于这个限制,你无法做任何合理的事情。

用户机器上任何完全受信任的代码都可以做到。 因此,您的目标是说服用户安装可以为您提供信息的内容。

对于Windows(所有需要某种安装):

  • ActiveX控件
  • 原生EXE
  • 本地安装的托管EXE
  • 仅在本地安装HTA for IE

我相信几乎所有平台都有办法实现……同样痛苦的安装要求。

您无法获得客户端计算机路径。 出于安全考虑,浏览器永远不会发布完整文件的路径。

您无法获得该文件的完整路径。 出于安全考虑,浏览器永远不会发布完整文件的路径。

尝试在java脚本中使用下面的代码。

lbltext.Text = FileUpload1.PostedFile.FileName 

浏览器发送没有完整文件路径的文件,所以要检索文件路径,你可以通过javascript函数在客户端执行:

  
... ...

如果您不想通过查询字符串发送文件路径,可以创建隐藏的表单字段,因此文件路径将通过post发送。