私はSOの投稿や他のサイトから組み立てたWeb APIコードをいくつか持っています。しかし、タスクのものはまだ私には新しいです。私は新しい場所にアップロードされたファイルをコピーしようとしていますが、ファイルをコピーしようとしているときに例外が発生することがあります。この例外は、ファイルが別のプロセスによって使用されていることを示します。それは毎回起こるわけではありません。コピー操作を別の場所に移動する必要があると思います。ここに私のコードです。助言がありますか?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;
:後
は、それに関連するバグ(あなたはそのまた、回避策が起き、その理由についての詳細は、解像度情報を見てみることができます)です?どのようなコード行が発生していますか? –
申し訳ありませんが、私は急いでいました。週末に少し旅をした。ファイルが別のプロセスで使用されているため、ファイルをコピーできません。 –