2012-08-29 9 views
5

HTML5 File APIを使用してドラッグアンドドロップを使用してファイルをアップロードすることは可能です。ファイルエクスプローラからファイルをコピーし、CTRL-V/CMD-Vを使用してWebページに貼り付ける、または右クリックのコンテキストメニューから貼り付けることでこれを行うこともできますか?キーボードショートカットを使用してファイルをHTML5ページにアップロード

答えて

1

これはできません。

あなたはこれで簡単にファイルのパスを取得することができます。

$(document).on('paste',function(e){ 
    var path = e.originalEvent.clipboardData.getData("text"); 
});​ 

ですから、それをユーザーに表示されることがあります。

しかし、<input type=file>の値を変更することはできません。

これはセキュリティ上の措置です:ユーザーがフォームを送信する直前に(または他のフォーム要素で可能なようにユーザーとのやり取りなしで)アップロードするファイルのパスをスクリプトが変更できるとしたらどうでしょうか?すべての重要なセキュリティ保護に関して、最新のブラウザには「回避策」は知られていません。

+0

ファイルAPIと組み合わせてHTML5ドラッグ&ドロップAPIを使用すると、クライアントファイルのコンテンツを取得できます。チュートリアルはこちら:http://www.thebuzzmedia.com/html5-drag-and-drop-and-file-api-tutorial/ クリップボードから同じようにコンテンツを取得できるのだろうかと思います。 –

+1

私が読んだすべてのドキュメントは、これがドラッグアンドドロップ操作でのみ(DataTransfer.effectAllowedを使用して)許可されていることを示していますが、私は100%確実ではありません。ソース:http://www.w3.org/TR/2011/WD-clipboard-apis-20110412/ http://dev.w3.org/html5/spec/dnd.html http://www.w3.org/TR /クリップボード-apis / –

関連する問題