【问题标题】:how to read file data in web api 2?如何在 web api 2 中读取文件数据?
【发布时间】:2016-03-22 20:14:16
【问题描述】:

我使用 MultipartFormDataStreamProvider 读取上传的文件,如下面的 sn-p 所示。但是,这并不安全,因为它将文件直接保存到临时文件。首先,我想检查原始字节并执行一些验证检查。请告诉我如何访问原始字节。

if (Request.Content.IsMimeMultipartContent())
{
    MultipartFormDataStreamProvider streamProvider = new MultipartFormDataStreamProvider("C:\temp");

     return this.Request.Content
            .ReadAsMultipartAsync<MultipartFormDataStreamProvider>(streamProvider)
            .ContinueWith((tsk) =>
            {
                 MultipartFormDataStreamProvider provider = tsk.Result;

            });

}

【问题讨论】:

  • 您需要将此streamProvider = new MultipartFormDataStreamProvider("C:\temp"); 更改为streamProvider = new MultipartFormDataStreamProvider(@"C:\temp"); 或更改路径以使用双反斜杠"\\"
  • 或者你可以使用var streamProvider = new MultipartFormDataStreamProvider(Path.GetTempPath());使事情更便携

标签: c# webapi2


【解决方案1】:
var provider = await Request.Content.ReadAsMultipartAsync(new MultipartMemoryStreamProvider());

foreach (var c in provider.Contents)
{
  var stream = await c.ReadAsStreamAsync();
  // do something with the stream
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 2019-06-08
    • 1970-01-01
    • 2019-05-04
    • 2017-03-30
    • 2015-04-23
    • 2013-04-28
    相关资源
    最近更新 更多