我有一个文件上传的POST请求,其请求体类似于以下内容:
-----------------------------88481896131794
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain
Content
-----------------------------88481896131794
Content-Disposition: form-data; name="text"
asdf
-----------------------------88481896131794
Content-Disposition: form-data; name="email"
asdf@gmail.com
在Visual Studio 2015中,我处理请求的方式如下:
string root = HttpContext.Current.Server.MapPath("~/App_Data");
var provider = new MultipartFormDataStreamProvider(root);
await Request.Content.ReadAsMultipartAsync(provider);
我使用以下代码获取文件名:
foreach (MultipartFileData file in provider.FileData)
{
fi.name = Path.GetFileName(file.LocalFileName);
}
通过这种方法,我得到了一个完全不同的名称BodyPart_408513e3-60d8-42f5-bdf3-8df9742f833f
,而我需要的名称是原始名称test.txt
你有什么想法可以帮我获取它吗?谢谢。
file.Headers.ContentDisposition.FileName
,那么我会得到"test.txt",通过字符串替换我删除引号并得到我需要的结果。 - Iñigo