我正在开发一个ASP.Net网站,该网站允许用户使用UNC路径链接文档。该站点由我们的客户用于内部流程,因此其域上的所有用户都应该可以访问UNC路径。
当用户想要添加链接文档时,他们使用FileUpload控件选择文件。以前在.Net 2.0中,控件的PostedFile.FileName属性返回文件名和完整的UNC路径。现在我们使用的是.Net 4.0,它只返回文件名。
这是我的主要问题:与2.0相比,.Net 4.0中的PostedFile.FileName的工作方式有所不同吗?
如果没有,还有什么可能导致这个问题?
答案 0 :(得分:6)
我认为它不是.NET,而是在安全方面成长的互联网浏览器。
来自here:
此外,“上传文件时包含本地目录路径” 对于Internet区域,URLAction已设置为“禁用”。这种变化 防止潜在敏感的本地文件系统泄漏 信息到互联网。例如,而不是提交 完整路径C:\ users \ ericlaw \ documents \ secret \ image.png,Internet Explorer 8 现在只提交文件名image.png 。
所以你可以
更改服务器端代码中的逻辑 - 它不应该依赖于客户端文件路径位置,而应该只使用FileUpload控件的FileName属性。
启用IE 8 / IE 9选项,在客户端包含Internet区域的本地目录路径(使用户烦恼)。