0


0

ASP.NET-アップロード前に一時的な場所にファイルをコピーするデスクトップアプリを模倣する-可能な戦略

ユーザーがアンケートに記入できるデスクトップアプリがあります。 特定の質問タイプでは、ユーザーはファイルをアップロードできます。 デスクトップアプリは次のロジックを実行します。

  • ファイルを一時的な場所にコピーします

  • コピーからバイトを読み取り、メモリにキャッシュします

  • アンケートの送信時にキャッシュされたすべてのバイトをアップロードします

Webアプリからのクライアント側のファイルアクセスがセキュリティホールであることを確認するのに5秒以上かかることはありません。 セキュリティ設定に不具合がある場合は可能ですが、IT部門がそれを許可する方法はありません:)。

デスクトップアプリのロジックが満たされるように設計されているという要件は、個々の質問に記入するプロセス中にユーザーを待たせないことです。 彼らが経験する唯一の待機は、彼らが「提出」ボタンを押すとき、まさに最後です。 この時点で、すべての質問とファイルが送信されます。

ただし、グーグルで検索した後、Webバージョンではこれを提供できないと思います。

私の実際の質問は次のとおりです。アンケート処理が終了するまでファイル転送を行わないという要件を満たす方法はありますか? キャッシュされたファイル名のセットから投稿ファイルのセットを作成できますか? 必要なのは、キャッシュされたファイルパスのセットから複数のファイルをアップロードする方法です。

しかし、ファイルのコピーが最初に作成されていなくても、これで十分かどうかはわかりません。 ユーザーが質問にファイルを割り当てた後、アンケートを送信する前にファイルを削除するとどうなりますか?

私は私のものに似ているとしてリストされているすべての質問を調べましたが、私が使用できると思うものは何も見ていません。 ヒントはありがたいことに感謝します。

3 Answer


0


iframeを使用して、バックグラウンドでアップロードを実行できます。 これにより、ユーザーはプロセスを進めながらアンケートに記入し続けることができます。

ただし、アップロード中にページを移行しないように、Ajaxを使用してアンケートフォームを正しく設計する必要があります。

また、ブラウザを閉じる前にすべてのファイルがアップロードされるように、プログレスバーまたは何かを最終ページに配置する必要があります。


0


複数ファイルのアップロードを探していると思います。 この記事を見てください。 http://www.codetoad.com/ASP.NET_multiplefileupload.asp


0


はい、リー・ヘッセルデンに同意します。 可能な解決策は、非表示のiframeを介したバックグラウンドアップロードを使用することです。 最近、この方法でASP.NETに複数のファイルアップローダーを実装しました。 さらに、現在は無料で利用できます。 http://liveui.net/demo-bugtracker/Tasks/15?grid=demo-bugtracker%2fTasks%3fsortdir%3dAscending%26start%3d0 [デモページ]をご覧ください。