web-dev-qa-db-ja.com

自分のコードでGoogle Chrome 11のUpload Folder機能を使用するにはどうすればよいですか?

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

私が見ることができるものから、Googleドキュメントの[フォルダーのアップロード]リンクをクリックすると、[フォルダーの参照]ダイアログ(外観によるSHBrowseForFolderの呼び出し)が表示され、フォルダーを選択すると、そのフォルダーの内容がGoogleドキュメントにアップロードされました。

この機能を使用するには、Google Chrome=を最新バージョンにアップグレードするか、またはJavaアプレットを実行している他のブラウザの場合、 ?

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

58
Peter

ここでデモを見ることができるはずです: 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」プロパティはファイルのリストになります操作に含まれています。

75
Kinlan