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