わかりました。ファイルを処理するこのコードは、単純なWebフォームを介してアップロードされました。
CustomMultipartFormDataStreamProvider provider = new CustomMultipartFormDataStreamProvider(@"C:\inetpub\wwwroot\myapp\Images");
//var provider = new MultipartFormDataStreamProvider(@"C:\inetpub\wwwroot\myapp\Images");
var Image = "";
var Dir = "";
var CurrentPath = "";
string UploadType = "";
string ImageName = "";
// Read the form data.
await Request.Content.ReadAsMultipartAsync(provider);
// Show all the key-value pairs.
foreach (var key in provider.FormData.AllKeys)
{
foreach (var val in provider.FormData.GetValues(key))
{
if (key == "uploadType") UploadType = val;
if (key == "imageName") ImageName = val;
//Trace.WriteLine(string.Format("{0}: {1}", key, val));
}
}
foreach (MultipartFileData file in provider.FileData)
{
//Debug.WriteLine(file.Headers.ContentDisposition.FileName);
//Debug.WriteLine("Server file path: " + file.LocalFileName);
Image = Path.GetFileName(file.LocalFileName);
Dir = Path.GetDirectoryName(file.LocalFileName);
CurrentPath = file.LocalFileName;
}
if (UploadType == "update")
{
File.Delete(Dir + "\\" + Image);
File.Move(CurrentPath, Dir + "\\" + Image);
Imagen = ImageName;
}
return Request.CreateResponse(HttpStatusCode.OK, Image);
UploadType
一部のドキュメントでは、awaitを使用すると読み取りプロセスが非同期になると述べているため、フォームフィールドが==
更新される場合は、ファイルがフォルダに保存された後で削除したいので、ファイルがいつ保存されたかを知る必要があるという問題がありますが、この行を試すときのように
File.Delete(Dir + "\\" + Image);
画像はまだ保存されておらず、画像が存在しないというエラーが発生したので、私の質問は、画像がディレクトリに準備されていることをどのように確認または確認できるかということです。非同期プロセスが終了したことをどのように知ることができますか、これに関する助けに感謝します!!