无法使用的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; 
    } 
}