1

Web サイトを作成していて、ユーザーが Web サイトをナビゲートしているときに複数のファイルをアップロードできるようにしたいと考えています。

アップロードが完了したら、Javascipt イベントをトリガーして、アップロードされたファイルに関連する追加情報 (写真の場所、タグなど) をユーザーが指定できるようにするとよいでしょう。必要な機能は次のとおりです。

  1. 1 回のアップロード操作で複数のファイルを許可
  2. オプションの進行状況インジケーターを表示します (少なくとも「アップロードされた y ファイルの x」の方法で)
  3. ユーザーを単一のページに縛り付けずにそれを行う

これらの機能を実装するにはどうすればよいですか? どんな提案でも大歓迎です!


編集

ポップアップ ウィンドウを使用してアップロードを処理する場合、どうすればよいですか。

  1. アップロードが完了したこと、またはエラーが発生したことを (「マスター」ページで) ユーザーに通知しますか?
  2. (より重要) $_FILES 配列をポップアップ ウィンドウに渡しますか? ユーザーがメイン ウィンドウで [アップロード] をクリックできるようにするか、メイン ウィンドウからアップロードを開始できるようにしたいと思います (たとえば、メイン ウィンドウでファイルをドラッグ アンド ドロップします)。
4

1 に答える 1

3

サイトをナビゲートするとページが切り替わり、サイトに完全なajaxナビゲーションがある可能性は低いため、2番目のポップアップウィンドウにファイルをアップロードすると役立つ場合があります。ただし、どのように実装できるかはわかりませんが、一度に複数のファイルをアップロードする必要があるため、フラッシュを使用する必要があると思います。

編集

したがって、ソリューションは次のようになります。

ユーザーが[ファイルの選択]ボタンをクリックすると、新しいウィンドウが表示され、実際にファイルを選択できます(複数ファイルのアップロードが必要な場合はフラッシュを使用)。また、アップロードの進行状況を通知するには、を使用しますpostMessage。この場合、 postMessageはIEで機能しませんが、おそらく何らかの方法でメッセージをサーバーに送信し、サーバーからページに戻すことができます。

もう1つのクレイジーなアイデアは、ポップアップウィンドウを使用せず、ユーザーが最初に表示したページのファイルを選択できるようにすることです。ただし、ユーザーがファイルを選択したら、ページ上のすべてのリンクをtarget=_blank作成して、後続のナビゲーションを別のタブで実行できるようにします。私はそれがハッキーで正確にユーザーフレンドリーではないことを知っていますが、おそらく役立つかもしれません。

いずれにせよ、両方のシナリオで新しいウィンドウが表示されることを事前にユーザーに通知します。

EDIT2

そして、さらにクレイジーなアイデア。ユーザーがファイルを選択してリンクをクリックすると、ページ全体をカバーするiframeが作成され、その下の元のページが非表示になり、リンクがiframeで開かれます。しかし、それはさらにハックっぽく見え、あなたはそれで多くの問題を抱えているようです。

于 2012-07-17T09:28:58.643 に答える