获取HttpPostedFileBase的FileInfo

4
有没有一种简单的方法可以从HttpPostedFileBase对象中获取FileInfo对象?我知道我可以保存文件,然后执行DirectoryInfo.GetFiles ,再循环遍历这些文件,查找我的文件,但是是否有更简单的方法来获取指定文件的FileInfo对象?
1个回答

9

上传文件时没有关联到FileInfo。只有文件名filename和文件流本身作为参数发送。您可以查询以下信息:

HttpPostedFileBase file = ...

string filename = file.FileName;
int fileSize = file.ContentLength;
string contentType = file.ContentType;
using (Stream stream = file.InputStream)
{
    // do something with the file contents here
}

为了更好地理解客户端发送的内容,我邀请您阅读multipart/form-data规范。
FileInfo对象包含诸如LastModified和LastAccessed日期等信息,这些信息在上传文件时不会被发送。如果您将文件保存在Web服务器磁盘上,然后检索FileInfo对象,请记住,您将检索到的是关于此文件在服务器上的信息,而不是客户端的信息,因为在上传文件时从未发送此信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接