0

私は、asp.net からの FileUpload コントロールを持つ Web (asp.net と c# を使用) を開発しています。アップロードは完璧に機能し、非同期ではないため、asp.net の FileUpload コントロールを使用して進行状況データ (%、転送バイト数、アップロード速度、経過時間、残り時間、進行状況バー) を表示することはできません。

私はインターネットで(本当に)たくさん検索しましたが、探しているものが見つかりませんでした。情報が多すぎると、何を使用する必要があるのか​​ わからないため、大きな混乱を招きました.

私の Web ページには、「UploadFile.aspx」という名前のファイルがあり、FileUpload コントロールと、アップロードを処理するボタンがあります。コード ビハインド (UploadFile.aspx.cs) には、すべてのサーバー側ロジック (ファイルを特定のフォルダーにアップロードする、そのファイルに関する情報をデータベースに保存するなど) があり、これを変更したくありません。

私が知る必要があるのは、ファイルのアップロード中に進行状況データをユーザーに表示する方法です? これは重要な商用サイト用であるため、サードパーティのアプリケーションを使用できません。javascript/jQuery/Whateverを学ばなければならないのであれば、それは私にとって問題ではありません。

お時間いただきありがとうございます。

4

3 に答える 3

1

ネット上には、c#でファイルアップロードコントロールを備えたプログレスバーを表示するためのデモコードがたくさんあります。それらのほとんどはローカルシステムでは正常に機能しますが、ライブサーバーでは機能しません。FileUploadコントロールを使用できないためです。あなたがやりたいことのために。ユーザーがファイルをPOSTするときは、クエリ文字列パラメーターのように考える必要があります。1つのHttpリクエストとして送信されます。プログレスバーを実行したい場合は、サーバーと非同期で対話できるものを調べたいと思うでしょう。

于 2012-10-08T06:56:08.553 に答える
1

そこにはかなりクールなソリューションがいくつかあります。もちろん、独自のコードを作成することもできますが、 Pluploadなどの jQuery プラグインを使用することをお勧めします。セットアップのヘルプが必要な場合は、ドキュメントを参照してください。

于 2012-08-07T19:39:12.953 に答える
0

Flash / Html 5 に依存するサードパーティを使用したくない場合は、次の記事をご覧ください。

http://vanacosmin.ro/Articles/Read/AjaxFileUpload

これは可能ですが (.NET 4.5 を使用している場合は、GetBufferedInputStream を使用すると作業が楽になります)、後でわかるように、それほど簡単ではありません。

基本的に、すべてのブラウザーと完全に互換性のあるプログレス バー付きのファイル アップロードが必要な場合は、このサーバー側を処理し、クライアント (ブラウザー) が ajax で進行状況を定期的に確認できる URL を指定する必要があります。

于 2014-01-08T19:31:31.963 に答える