2013-07-19 25 views
5

SO gönderileri ve diğer sitelerden derlediğim bazı Web API kodları var. Ancak, Görev şeyler benim için hala yeni. Yüklenen bir dosyayı yeni bir yere kopyalamaya çalışıyorum, ancak bazen (her zaman değil) dosyayı kopyalamaya çalışırken bir istisna alıyorum. Özel durum, dosyanın başka bir işlem tarafından kullanılıyor olduğunu gösterir. Yine de her seferinde olmaz. Sanırım kopya operasyonunu başka bir yere taşımam gerekiyor. İşte benim kodum. Baska öneri?MultipartFormDataStreamProvider ve okuma dosyası yüklendikten hemen sonra bazen hata veriyor

var provider = new MultipartFormDataStreamProvider(uploadroot); 
       var task = Request.Content.ReadAsMultipartAsync(provider).ContinueWith<HttpResponseMessage>(t => 
       { 
        if (t.IsFaulted || t.IsCanceled) 
         throw new HttpResponseException(HttpStatusCode.InternalServerError); 

        var docConversionId = Guid.NewGuid().ToString("N"); 
        var sourceFilePath = Path.Combine(uploadroot, provider.FileData.First().LocalFileName); 
        var destinationFilePath = Path.Combine(inboxroot, docConversionId); 

        File.Copy(sourceFilePath, destinationFilePath); 

        var response = new HttpResponseMessage(HttpStatusCode.OK); 
        response.Content = new StringContent(docConversionId); 
        //response.Content.Headers.Add("DocumentConversionId", docConversionId); 
        return response; 
       }); 
       return task; 
+2

Eğer alıyorsanız istisna nedir:

ardından

(bir neden onun oluyor dair daha fazla ayrıntı için çözünürlük bilgisini bakmak almak ve aynı zamanda bir geçici çözüm olabilir) bununla ilgili hata ? Hangi kodda oluyor? –

+0

Üzgünüm, acele ediyordum. Hafta sonu boyunca küçük bir yolculuk yaptık. Dosyayı başka bir işlem tarafından kullanıldığından kopyalayamıyorum. –

cevap

İlgili konular