首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从HttpPostedFile获取文件路径

从HttpPostedFile获取文件路径
EN

Stack Overflow用户
提问于 2013-07-24 13:32:06
回答 1查看 13.8K关注 0票数 2

我正在尝试获取一个上传文件的文件路径,而我使用的是HttpPostedFile,它似乎不是一个获取路径名的选项。这是真的吗?我该怎么做呢?

代码语言:javascript
复制
foreach (string s in Request.Files)
            {
                HttpPostedFile file = Request.Files[s];
                string fileName = file.FileName;
                string filePath = Path.GetFullPath(fileName);
                string fileExtension = "";

                if (!string.IsNullOrEmpty(fileName))
                    fileExtension = Path.GetExtension(fileName);

                ....
            }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-24 14:16:09

正如PKKG在评论中指出的那样,由于浏览器的安全限制,这是不可能的。他们只会告诉你上传文件的名称,而不是它的路径。

此外,例如,谷歌浏览器会给你一个伪造的路径,当你试图通过javascript抓取它时:C:\fakepath\TestFile.xml

编辑:现在我手头有了IE,我甚至意识到,如果你获取所选值,例如通过document.forms.file.value,这个将通过javascript 给你完整的正确路径。

这是我的坏行为,你不应该依赖。浏览器应该隐藏这些机密数据,您最好不要尝试破解可能在一段时间内有效的解决方案,但在不同的浏览器甚至不同的版本之间是不安全的。也许更好的问题是,您到底想要对客户端的完整路径做什么?可能还有另一种方法,而不需要客户端的路径。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17825911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档