c# - 如何读取web api 2中的文件数据?

标签 c# webapi2

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

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

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

            });

}

最佳答案

var provider = await Request.Content.ReadAsMultipartAsync(new MultipartMemoryStreamProvider());

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

关于c# - 如何读取web api 2中的文件数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36164275/

相关文章:

angularjs - 如何使用angularjs将http POST方法中的两个不同类型的参数传递给Web API?

javascript - 备注字段(客户端和服务器端)的正则表达式验证很少有特殊标签

c# - 发布 Web API 2 应用程序后出现 HTTP 405 错误

C# 如何解决 HtppWebResponse return Could not establish trust relationship for the [SSL/TLS] secure channel?

c# - 使用 JsonSerializer 有选择地读取部分 JSON 数据并填充一个 c# 对象

c# - 使用 C# 进行远程 HTTP 发布

c# - Azure 函数 SignalR |协商功能|失败并显示 500 错误代码

c# - Gmap.net 标记删除

c# - 如何在运行后停止进程?

azure - 在web api 2 azure网站中将https www重定向到https非www