2016-03-22 9 views
2

MultipartFormDataStreamProviderを使用して、以下のスニペットが示すように、アップロードされたファイルを読み込みます。しかし、これは一時ファイルに直接ファイルを保存するので安全ではありません。まず、生のバイトを検査し、いくつかの妥当性チェックを実行する必要があります。生のバイトにアクセスする方法を教えてください。web api 2でファイルデータを読み取る方法は?

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

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

      }); 

}この `streamProvider =新MultipartFormDataStreamProvider( "C:\ tempに")を変更する必要が

+0

;' streamProvider =新しいMultipartFormDataStreamProvider 'へ(@ "C:\ tempに"); '\\" '\\" ' – MethodMan

+0

また、' 'var streamProvider = new MultipartFormDataStreamProvider(Path.GetTempPath());' 'を使用して移植性を高めることができます。 – keithl8041

答えて

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

foreach (var c in provider.Contents) 
{ 
    var stream = await c.ReadAsStreamAsync(); 
    // do something with the stream 
} 
関連する問題