我正在构建一个应用程序,其中包括将一些字段写入数据库,以及将最终用户的一些文件上载到FTP站点。在IE中,文件上传工作正常。在Firefox和Chrome中,我收到一个错误,它无法找到该文件(此时在localhost中运行它,还没有将它移到开发或生产环境中)。
我试过通过以下方式获取文件:
Server.MapPath(FileUpload1.PostedFile.Filename)
...指向应用程序所在的文件夹。
还有:
Path.GetFullPath(FileUpload1.PostedFile.Filename)
...指向c://程序(x86)/ ...... ...
如果我从任一文件夹中获取文件,我可以正常上传文件,但其他地方都没有。
有关如何将这一点指向正确位置的任何想法?或者,一旦它驻留在服务器环境中,它是否真的可以正常工作?
提前致谢!
答案 0 :(得分:0)
FileUpload.PostedFile.Filename在每个浏览器中的工作方式不同。在Firefox和Chrome中,它不会包含完整路径 - 只是文件名。这取决于您客户的浏览器。
答案 1 :(得分:0)
FileUpload.PostedFile.FileName
这实际上为您提供了上传文件的路径。
但是在所有较新的浏览器(FF 3.6系列,Chrome,IE7 +)中,由于安全原因,此功能已被禁用。任何网站都不需要存储在客户端系统中的文件路径,因为这会提供目录结构,并可能向网站所有者公开其他重要的事情。
因此,在您的情况下,上面的代码只返回文件名。
您可以查看此链接,它可能会对您有所帮助Fileupload control - fullpath issue