Asp.net mvc - 获取上传文件的完整文件名

Ale*_*dre 2 asp.net file-upload

是否可以在asp.net mvc中获取上传文件的完整文件名?![在此处输入图像说明]

更新 数据仅包含文件名,但不包含文件路径!有关详细信息,请参阅附件

Sco*_*pey 9

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

该文档FileName应该有所帮助. 它说:

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

在以下代码中,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 ...
}
Run Code Online (Sandbox Code Playgroud)