18

プロジェクトの 1 つに gmail のようなファイル アップロード機能を追加したいと考えています。誰でもこれで私を助けることができますか?

私のアプリケーションは vb.net で構築されています。

あらゆる種類のヘルプまたはガイダンスをいただければ幸いです。

ありがとう

4

10 に答える 10

32

SWFUploadを確認してください。これは、本質的にフラッシュの絶対に優れたファイル アップロード処理機能への JavaScript API です。ブラウザが最終的に追いつくまで、そこにある最高のもの.

リンクから:

  • ダイアログでCtrl/Shiftキーを押しながら選択して、複数のファイルを一度にアップロードします
  • すべてのイベントでの Javascript コールバック
  • アップロード開始前にファイル情報を取得する
  • XHTML と css を使用してアップロード要素をスタイル設定する
  • HTML を使用したファイルのアップロード中に情報を表示する
  • ページのリロードは不要
  • Flash をサポートするすべてのプラットフォーム/ブラウザーで動作します。
  • Flash または JavaScript が利用できない場合、通常の HTML アップロード形式に正常に低下します
  • アップロード開始前にファイルサイズを制御する
  • 選択したファイルタイプのみをダイアログに表示
  • アップロードをキューに入れ、アップロードを開始する前にファイルを削除/追加します

デモ

----- iframeアップロード -----

まず、ページに iframe を配置します。これは、サーバー通信用です。後で非表示にしますが、ここでは表示したままにします。その iframe に「uploader」などの name 属性を付けます。

ここで、フォームでターゲットを iframe の名前に設定し、アクションをファイルのアップロードを受け入れるサーバー上のスクリプトに設定します (ファイルのアップロードを行う通常のフォームのように)。そのフォーム内に「ファイルを追加」というテキストを含むリンクを追加します。そのリンクを設定して、フォームに新しい入力を追加する JavaScript 関数を実行します。これは DOM を介して行うことができますが、jqueryのような JavaScript ライブラリをお勧めします。

新しいファイル入力がフォームに追加されたら、その入力のぼかしイベントをフォームを送信する JavaScript 関数に設定し、定期的に出力をチェックします。iframe の読み取りは難しい場合がありますが、可能です。

ファイル アップロード スクリプトが「完了」を出力するようにします。またはアップロードが完了したときのファイル名または何か。

コンテンツが作成されるまで、1 秒ごとに確認してください。コンテンツを取得したら、タイマーを強制終了し、ファイル入力をファイルの名前 (または「アップロードされたファイル」) などに置き換えます。

css で iframe を非表示にします。

于 2008-09-25T18:37:09.143 に答える
11

ゆいから!(Yahoo ユーザー インターフェース)、https://yuilibrary.com/yui/docs/uploader/

  1. 単一の「ファイルを開く」ダイアログで複数のファイルを選択。
  2. ユーザーの選択を容易にするファイル拡張子フィルター。
  3. ファイルのアップロードの進行状況の追跡。
  4. ファイル メタデータの範囲: ファイル名、サイズ、作成日、変更日、作成者。
  5. ファイルのアップロード プロセスのさまざまな側面 (ファイルの選択、アップロードの進行状況、アップロードの完了など) で送出される一連のイベント。
  6. ファイル アップロードの POST 要求に追加データを含める。
  7. SEND バッファ サイズが変更されたため、ブロードバンド接続でのファイル アップロードが高速化されました。
  8. ファイルのアップロード完了時の同一ページ サーバーの応答。

完全無料

于 2008-09-25T18:39:02.273 に答える
1

ページ全体のポストバックなしのアップロードについて話しているのですか? http://www.phpletter.com/Demo/AjaxFileUpload-Demo/を見てください。これは非表示の iframe を作成し、入力コントロールをコピーし、iframe を使用してポストを実行し、サーバー上のファイルを取得します。

ユーザーが「ファイルを添付」をクリックしたときにファイル参照ダイアログが自動的にポップアップする動作を探している場合、これは Javascript を介して行うことができますが、FireFox では機能しません。 「参照」ボタンを直接 (スクリプトを介してプログラムで呼び出すのではなく) 呼び出します。

「自動」アップロードの場合、Javascript を使用して「入力」コントロールの「値」プロパティの「変更」イベントにアタッチし、ファイルが選択されたときに が実行されるようにします。

于 2009-01-22T20:02:36.600 に答える
1

非フラッシュ ソリューションの場合は、NeatUploadを使用できます。昨年、フラッシュを必要としない大規模なプロジェクトで使用しました。既存のソリューションへの統合は非常に簡単です。働きやすいと思いました。私の限られた経験では、ASP.NET で SWFUpload を使用するよりも簡単です。おそらく、NeatUpload が ASP.NET 専用に構築されているためです。

于 2008-09-26T18:12:47.000 に答える
1

2年が経ちましたが、レガシーシステムでuploadifyを使用しましたが、うまく機能しています。ただし、いくつかのハック コードを記述する必要があります (セッションを保持するなど)。

jquery uploadを使用することをお勧めします。これは純粋な HTML であり、swf もセッションの問題もなく、本当に素晴らしいものです。

== 2013年、私が書いたもの:

SWFupload とuploadifyのどちらを選択するかを検討しています。

しかし、SWFupload の公式 Web サイトでは、積極的な開発は行われておらず、作者はいつか SWFupload が復活することを望んでいると述べています...

それで...多くのオプション、多くのデモを含むコールバックをサポートしているように見える「uploadify」を試すことにしました。(ソースコードを確認したところ、作者は「SWFupload v1」と「SWFupload v2」を「uploadify v3」にラップしていると思います...)

この種のアップローダの完全なリストがあります。

于 2013-03-16T01:30:15.983 に答える
0

これにはiFrameを使用できます

于 2008-09-25T23:25:59.837 に答える
0

「Gmail のような」ファイルのアップロードについて、もう少し明確にしてほしい。

少し置いておくと、自動的にドラフトに添付されるということですか?

于 2008-09-25T18:47:04.470 に答える
0

Gmail のコードはわかりにくいですが、推測すると次のようになります。

  • 「別のファイルを添付」をクリックすると、通常の入力タイプのファイル コントロールが挿入されます。IEでは、「参照」ボタンでクリックイベントをプログラムでトリガーすることもできるため、ファイルダイアログがすぐに開きます(Firefoxではこれを実行せず、IEを手元に持っていませんが、IEはこれを可能にすると信じています)
  • ファイルを選択すると、入力コントロールの変更イベントが検出され、タイマーが開始されます。
  • タイマーがトリガーされると、入力要素がフォームから切り離され、非表示の iframe 内の別のフォームに追加され、メイン (表示されている) フォームに単純なリンクが配置されます。非表示の iframe が送信され、ファイルがアップロードされます。(入力要素のクローンも作成される可能性がありますが、これが機能するかどうかは試していません。)
于 2008-09-25T19:31:55.843 に答える