C# 需要来自'的完全限定路径;来源';电脑类

C# 需要来自'的完全限定路径;来源';电脑类,c#,upload,http-headers,client,C#,Upload,Http Headers,Client,我正在尝试从客户端获取文件的完整路径 已提交以供上载 我想要像这样的东西: C://this/is/your/file.jpg 但是,当我尝试时: m_File = Request.Files[i]; m_File.FileName 我只得到文件名 当我尝试时: System.IO.Path.GetFileName(m_File.FileName) 我得到的路径似乎指向我的IDE: C:\Program Files\Microsoft Visual Studio 9.0\Common7\ID

我正在尝试从客户端获取文件的完整路径 已提交以供上载

我想要像这样的东西:

C://this/is/your/file.jpg

但是,当我尝试时:

m_File = Request.Files[i];
m_File.FileName
我只得到文件名

当我尝试时:

System.IO.Path.GetFileName(m_File.FileName)
我得到的路径似乎指向我的IDE:

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PICT0736.JPG

我正在服务器上使用HttpPostedFile集合,并且 类型为file的隐藏输入(通过iframe传递)用于发布 文件收集

理想情况下,我希望每个输入都有value=“c://path/to/file.gif”

如果你认为这是不可能的或风格上的声音,我会感激 备选建议(特别感谢代码示例)



谢谢你的努力。:)

浏览器通常不会为您提供完全限定路径,以避免向web服务器发送潜在的敏感信息。

浏览器通常不会为您提供完全限定路径,以避免向web服务器发送潜在的敏感信息。

据我所知,在使用HTTP post发送文件时,您只发送文件的内容,其中不包括文件系统元数据,如文件路径。解决这个问题的唯一方法就是在帖子中添加元数据。也许在表单上使用一些javascript和一个隐藏的输入字段来捕获提供的文件路径,并在提供的路径发生变化时对其进行更新?

据我所知,使用HTTP post发送文件时,您只发送文件的内容,而不包括文件路径等文件系统元数据。解决这个问题的唯一方法就是在帖子中添加元数据。也许在表单上使用一些javascript和一个隐藏的输入字段来捕获提供的文件路径,并在提供的路径发生变化时进行更新?

Ah,这是一个好主意。我可以做到。是否有任何理由认为此方法应该是一个安全问题?以这种方式提供此信息也将是一个安全漏洞,如果任何浏览器这样做,则应予以修复。web上有很多表单,其中输入显示要上载的文件的完整文件路径,并且它们适用于所有浏览器。应该修复允许“浏览…”对话框的浏览器吗?当然,在上传文件时,有人可能总是将文件放在一个虚拟路径中。这还取决于你想对文件路径做什么。我会将任何IO操作建立在它的基础上。谢谢,我正在研究你的解决方案,它看起来很简单