【发布时间】:2016-05-14 14:18:20
【问题描述】:
我正在使用 WebApi 上传文件,但是当我运行时
request.Content.ReadAsMultipartAsync(provider)
文件已上传,但文件名已完全更改。 我读到一些关于它说它是出于安全原因自动制作的。无论如何,我想用真实的文件名存储文件。知道怎么做吗?
【问题讨论】:
标签: file-upload asp.net-web-api multipartform-data multipart
我正在使用 WebApi 上传文件,但是当我运行时
request.Content.ReadAsMultipartAsync(provider)
文件已上传,但文件名已完全更改。 我读到一些关于它说它是出于安全原因自动制作的。无论如何,我想用真实的文件名存储文件。知道怎么做吗?
【问题讨论】:
标签: file-upload asp.net-web-api multipartform-data multipart
这个简单的覆盖解决了这个问题
public class MyMultipartFormDataStreamProvider : MultipartFormDataStreamProvider
{
public MyMultipartFormDataStreamProvider(string path) : base(path)
{ }
public override string GetLocalFileName(System.Net.Http.Headers.HttpContentHeaders headers)
{
// override the filename which is stored by the provider (by default is bodypart_x)
string originalFileName = headers.ContentDisposition.FileName.Trim('\"');
return originalFileName;
}
}
【讨论】: