asp.net mvc アクションは、HttpPostedFileBase パラメーターを受け取ります。
public ActionResult Save(HttpPostedFileBase file)
{
//Q1: at the start of this action method, what's the status of this file?
//UploadCompleted or Uploading or something else?
//Q2: where is the file stored? memory or a temp file?
if (answer of Q1 is Uploading)
{
//Q3a: what happens if file.SaveAs is invoked?
//block the current thread until the file is uploaded?
}
else if (answer if Q1 is UploadCompleted)
{
//Q3b: which means the developer can do nothing before the file is uploaded?
//if the business logic limits the size of the file(e.g. <= 5MB), how can we
//prevent evil-intended uploading?
}
}
ここで Q4: このリクエストの合計時間を記録したいのですが、ユーザーがファイルのアップロードを開始すると、タイマーが開始されます。ユーザーがファイルのアップロードを終了すると (または私のSave
アクションが完了すると)、タイマーが終了します。ユーザーがいつアップロードを開始したかを知るにはどうすればよいですか?