PostedFile.FileName在.Net 4.0中的工作方式有所不同吗?

时间:2012-07-09 21:38:09

标签: asp.net .net file-upload .net-4.0 .net-2.0

我正在开发一个ASP.Net网站,该网站允许用户使用UNC路径链接文档。该站点由我们的客户用于内部流程,因此其域上的所有用户都应该可以访问UNC路径。

当用户想要添加链接文档时,他们使用FileUpload控件选择文件。以前在.Net 2.0中,控件的PostedFile.FileName属性返回文件名和完整的UNC路径。现在我们使用的是.Net 4.0,它只返回文件名。

这是我的主要问题:与2.0相比,.Net 4.0中的PostedFile.FileName的工作方式有所不同吗?

如果没有,还有什么可能导致这个问题?

1 个答案:

答案 0 :(得分:6)

我认为它不是.NET,而是在安全方面成长的互联网浏览器。

来自here

  

此外,“上传文件时包含本地目录路径”   对于Internet区域,URLAction已设置为“禁用”。这种变化   防止潜在敏感的本地文件系统泄漏   信息到互联网。例如,而不是提交   完整路径C:\ users \ ericlaw \ documents \ secret \ image.png,Internet   Explorer 8 现在只提交文件名image.png

所以你可以

  1. 更改服务器端代码中的逻辑 - 它不应该依赖于客户端文件路径位置,而应该只使用FileUpload控件的FileName属性。

  2. 启用IE 8 / IE 9选项,在客户端包含Internet区域的本地目录路径(使用户烦恼)。

  3. enter image description here