C# 如何在web api 2中读取文件数据?

C# 如何在web api 2中读取文件数据?,c#,webapi2,C#,Webapi2,我使用MultipartFormDataStreamProvider读取上传的文件,如下面的代码片段所示。但是,这并不安全,因为它会将文件直接保存到temp。首先,我想检查原始字节并执行一些验证检查。请告诉我如何访问原始字节 if (Request.Content.IsMimeMultipartContent()) { MultipartFormDataStreamProvider streamProvider = new MultipartFormDataStreamProvider(

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

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

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

            });
if(Request.Content.IsMimeMultipartContent())
{
MultipartFormDataStreamProvider streamProvider=新的MultipartFormDataStreamProvider(“C:\temp”);
返回此.Request.Content
.ReadAsMultipartAsync(流提供程序)
.ContinueWith((tsk)=>
{
MultipartFormDataStreamProvider provider=tsk.Result;
});

}

您需要更改此
streamProvider=new MultipartFormDataStreamProvider(“C:\temp”)
to
streamProvider=new MultipartFormDataStreamProvider(@“C:\temp”)
或将路径更改为使用双反斜杠
“\\”
或使用
var streamProvider=new MultipartFormDataStreamProvider(path.GetTempPath())使事情更具可移植性
var provider = await Request.Content.ReadAsMultipartAsync(new MultipartMemoryStreamProvider());

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