2011-11-02 107 views
2

的完整文件名是否有可能在asp.net mvc的获得上传的文件的完整文件名[在这里输入的形象描述]Asp.net MVC - 获取上传的文件

UPDATE 该数据包含了?!只有文件名,但没有文件路径!有关详细信息,请参见attach

+0

你是指完整的文件路径吗?或者只是文件名? –

+0

@Scott Rippey,完整的文件名。 – Alexandre

+0

哦,好的。只是为了澄清,你认为什么是“完整的文件名”? “C:\ Path \ To \ My File.txt”或“My File.txt”? –

回答

8

这取决于浏览器。
大多数浏览器(FF,Chrome,Safari)都不会发送此信息,主要是出于安全原因。但是,似乎有些版本的IE确实发送了完整的客户端路径。
该值将被存储在HttpPostedFileFileName属性中。

The documentation for FileName should help.它说:

文件名:客户端的文件的名称,包括目录路径。

在以下代码中,postedFile.FileName将因浏览器而异。因此,始终只提取文件名是很重要的,你也可能会很幸运,也可以获得clientPath

public ActionResult UploadFile(HttpPostedFile postedFile) { 
    var clientPath = IO.Path.GetDirectoryName(postedFile.FileName); 
    var filename = IO.Path.GetFileName(postedFile.FileName); 
    ... Save the file, etc ... 
} 
+0

请看看我的依恋。 – Alexandre