2016-03-22 20 views
2

Yüklenen dosyaları aşağıdaki örnekte gösterildiği gibi okumak için MultipartFormDataStreamProvider kullanıyorum. Ancak bu, dosyaları doğrudan tempole kaydettiğinden güvenli değildir. İlk olarak, ham baytları incelemek ve bazı doğrulama kontrolleri yapmak istiyorum. Lütfen bana baytlara nasıl erişileceğini göster.Web api 2'deki dosya verileri nasıl okunmalı?

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

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

      }); 

} Bu `streamProvider = new MultipartFormDataStreamProvider ("C: \ temp") değiştirmek için ihtiyaç

+0

;' streamProvider = yeni MultipartFormDataStreamProvider 'ye (@ "C: \ temp"); 'veya çift geri eğik çizgileri kullanmak için yolu değiştir '" \\ "' – MethodMan

+0

Veya' var streamProvider = new MultipartFormDataStreamProvider (Path.GetTempPath()); – keithl8041

cevap

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 
}