web-dev-qa-db-ja.com

HTML5ファイルAPIを使用してURLに保存されているファイルを読み取る

HTML5ファイルAPIを使用してファイルをWebアプリケーションにアップロードしています。

Webページに入力要素があり、これを使用してファイルを読み取り、アップロード関数を呼び出します。

<input type="file">

$('input[type="file"]').on("change",function(e){
      console.log(this.files);
      // upload each file in this.files
});

これは、OS上のネイティブファイルに対して完全に機能します。 example.com/blah/file1.jpgなどのリモートファイルをアップロードしたいのですが、File APIを使用してこのファイルを読み取るにはどうすればよいですか?それを行う方法はありますか?

9
sublime

リモートファイルはXMLHttpRequestからダウンロードして、Blobとして処理できます。次に、それを別のサーバーにアップロードします。アップロードはXMLHttpRequest以上である必要があります。これは、ブラウザーのXHRレベル2の実装に依存しています。このリンクには、必要なコードスニペットが含まれています。

http://www.html5rocks.com/en/tutorials/file/xhr2/

リモートファイルをBlobとしてダウンロードするためのスニペットとBlobをサーバーにアップロードするためのスニペットの両方があります。

8
Cat Chen