我有一些Web API代碼,我已經從SO帖子和其他網站彙編。然而,任務對我來說仍然是新的東西。我試圖將上傳的文件複製到新位置,但有時(並非全部)我在嘗試複製文件時遇到異常。異常表示該文件正在被另一個進程使用。不過,它並不是每次都發生。我想我需要將複製操作移到其他地方。這是我的代碼。有什麼建議麼?MultipartFormDataStreamProvider和上傳後立即讀取文件失敗有時
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;
什麼是你所得到的例外?它發生什麼代碼? –
對不起,我在衝。週末度過了一段小小的旅程。我無法複製該文件,因爲該文件正在被另一個進程使用。 –