无法使用的WebAPI上传文件中使用的WebAPI MultipartFormDataStreamProvider
问题描述:
进出口文件上传后更改文件名,但是当我运行无法使用的WebAPI上传文件中使用的WebAPI MultipartFormDataStreamProvider
request.Content.ReadAsMultipartAsync(provider)
的文件上传,但其文件名是彻底改变。 我读了一些关于它的信息,说它是出于安全原因自动生成的。无论如何,我想存储文件的真实文件名。任何想法如何做到这一点?
答
这个简单的替代解决这个问题
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;
}
}