HttpPostedFileクラスを使用して、1つ以上の大きなファイルをWebページからASP.NET MVCコントローラにアップロードします。このクラスを使用すると、256 KBを超えるアップロードされたファイルは、サーバーのメモリに保持されるのではなく、ディスクにバッファリングされます。HttpPostedFileクラスを使用してアップロードの進捗状況を取得する方法はありますか?
私の理解では、それが次のように行うことができることである。
if (context.Request.Files.Count > 0)
{
string tempFile = context.Request.PhysicalApplicationPath;
for(int i = 0; i < context.Request.Files.Count; i++)
{
HttpPostedFile uploadFile = context.Request.Files[i];
if (uploadFile.ContentLength > 0)
{
uploadFile.SaveAs(string.Format("{0}{1}{2}",
tempFile,"Upload\\", uploadFile.FileName));
}
}
}
ようにAJAXやJSONを経由してWebページを定期的にコールバック、または他のいくつかの方法を使用して、リターン・ステータスを設定する方法はあります進行状況バーと完了したパーセントを表示できますか?コードはどのように見えますか?
ありがとう私はこれもいくつかの問題がある、[私の質問を参照してください](http://stackoverflow.com/q/11779751/340045)、自分のHTTPハンドラを書く上で良いチュートリアルを知っていますか? – Ben
これが見つかりました[投稿](http://forums.asp.net/p/1099698/1672357.aspx) – Ben
もう一つの良い[記事](http://dotnetslackers.com/Community/blogs/haissam/archive/) 2008/09/12/upload-large-files-in-asp-net-using-httpmodule.aspx) – Ben