60

Google Chrome 11 では、フォルダーのアップロードがサポートされるようになりました。現在、この機能は Google ドキュメントにのみ実装されており、コードでこれを使用する方法に関する API ドキュメントを見つけることができませんでした。

私が見る限り、Google ドキュメントで [フォルダーのアップロード] リンクをクリックすると、[フォルダーの参照] ダイアログ (一見すると SHBrowseForFolder の呼び出し) が表示され、フォルダーを選択すると、そのフォルダーの内容は次のようになります。 Google ドキュメントにアップロードされました。

この機能を使用するには、Google Chrome を最新バージョンにアップグレードするか、Java アプレットを実行している他のブラウザを使用する必要があるため、自分の Web サイトでこの機能を使用できると思いますか?

私が管理しているコンテンツ管理システムにこの機能を搭載したいと思っています!

4

1 に答える 1

80

ここでデモを見ることができるはずです: http://html5-demos.appspot.com/static/html5storage/demos/upload_directory/index.html

基本的には、ファイル入力要素に属性「webkitdirectory」を設定することで機能します。

<input type="file" id="file_input" webkitdirectory="" directory="">

次に、ユーザーがフォルダーを選択すると、「e.target.files」オブジェクト全体を繰り返し処理して、選択に含まれるファイルのリストを取得します (これにより、クライアント側からこれらのファイルにアクセスできるようになります)。

ドラッグ アンド ドロップも同様です。「ドラッグ可能な」要素で「ondrop」イベントをリッスンすると、ディレクトリまたはファイルの選択が要素にドロップされた場合、イベントの「files」プロパティはファイルのリストになります。操作に含まれています。

于 2011-05-01T15:29:04.050 に答える