获取HttpPostedFileBase的FileInfo

Art*_*t F 3 .net c# vb.net file-io

是否有一种简单的方法可以从中获取FileInfo对象HttpPostedFileBase?我意识到我可以保存文件,然后执行类似的操作DirectoryInfo.GetFiles,然后遍历查找我的文件的文件,但有没有更简单的方法为给定的文件执行此操作?

Dar*_*rov 8

没有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
}
Run Code Online (Sandbox Code Playgroud)

为了更好地理解从客户端发送的内容,我邀请您阅读multipart/form-data规范.

FileInfo对象包含LastModified和LastAccessed日期之类的内容,这些内容不是上载文件时发送的信息.如果您将文件保存在Web服务器磁盘上,然后从中检索FileInfo,请记住,您将检索的是服务器上有关此文件的信息,而不是客户端上的信息只是因为在文件中永远不会发送此信息已上传.