我已经在这里问过如何在不需要保存的情况下在Web Api中读取上传的文件。使用MultipartMemoryStreamProvider回答了这个问题,但是如何使用此方法获取文件名以从中派生上传文件的类型?
亲切的问候
这个DotNetNuke代码中有一个例子here(参见PostFile()
方法)。
基于@FilipW评论更新...
获取所需的内容项,然后访问filename属性。
像这样的东西:
var provider = new MultipartMemoryStreamProvider();
var task = request.Content.ReadAsMultipartAsync(provider).
ContinueWith(o =>
{
//Select the appropriate content item this assumes only 1 part
var fileContent = provider.Contents.SingleOrDefault();
if (fileContent != null)
{
var fileName = fileContent.Headers.ContentDisposition.FileName.Replace("\"", string.Empty);
}
});//Ending Bracket