【问题标题】:Unable to change file name after File Upload using WebApi MultipartFormDataStreamProvider使用 WebApi MultipartFormDataStreamProvider 上传文件后无法更改文件名
【发布时间】:2016-05-14 14:18:20
【问题描述】:

我正在使用 WebApi 上传文件,但是当我运行时

request.Content.ReadAsMultipartAsync(provider)

文件已上传,但文件名已完全更改。 我读到一些关于它说它是出于安全原因自动制作的。无论如何,我想用真实的文件名存储文件。知道怎么做吗?

【问题讨论】:

    标签: file-upload asp.net-web-api multipartform-data multipart


    【解决方案1】:

    这个简单的覆盖解决了这个问题

    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;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-10
      • 2016-11-19
      • 2011-08-28
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      相关资源
      最近更新 更多