3

ユーザーがドキュメントをアップロードできるこのページがあります (複数のドキュメント、サイズ制限はそれぞれ 10MB)。これは 2 段階のプロセスです。ステップ 1 には入力フォームがあります。ステップ 2 は、送信ボタンのあるプレビュー ページです。

ユーザーがプレビュー ページでフォームを送信せずにブラウザーを閉じた場合、どのように対処すればよいですか? ステップ 1 の後、一時的な場所にファイルを保存する必要がありますか? これはまともな解決策ですか?

そして、(合理的に)大きなファイルをアップロードするための一般的なベストプラクティスは何ですか?

ありがとう。

4

3 に答える 3

1

これを見てください:

http://www.codeproject.com/Articles/68374/Upload-Multiple-Files-in-ASP-NET-using-jQuery

いずれにせよ、これを行うためにjQuery/AJAXコントロールを検討することになります。

于 2012-04-05T23:01:17.187 に答える
0

一時フォルダーを使用してファイルを保存し、フォームの送信時にのみファイルを最終的な場所にコピーできます。

いずれにせよ、ガベージ コレクタを実装することをお勧めします。ガベージ コレクターは、毎晩一時フォルダーを空にすることができます。ただし、ガベージ コレクターを使用する場合、送信されなかったファイルを特定する方法がある場合 (たとえば、送信時にデータベースに行が追加された場合)、ファイルを最初から最終的な場所に配置して、ガベージコレクターは毎晩それらを取り除きます。

大きなファイルのアップロードは、Uploadify: http://www.uploadify.com/などの JQuery UI プラグインを使用して行うことができます。フラッシュを使用していることに注意する必要があります。フラッシュは大きなファイルのアップロードに非常に適していますが、アプリケーションが iPad などの Apple マシンをサポートできなくなる可能性があります。

于 2012-04-06T13:55:22.067 に答える
0

ユーザーが離れた場合は、最初からやり直します。おそらく彼らは正当な理由で去りました。クラッシュが発生した場合は、責任を最後に残してください。送信せずにデータを保存することを選択した場合、悪意のあるユーザーがストレージを悪用する可能性があります。

チャンクと呼ばれるプロセスを調べることもできます。

mvc3 でのファイルのアップロードに関する詳細な議論については、この SO 投稿を参照してください: MVC 3 ファイルのアップロードとモデル バインディング

于 2012-04-05T23:12:27.457 に答える