17

FileSystem APIで少し遊んでいます。

ダウンロードリンクを生成し、ユーザーが「ブラウザの方法」でファイルをダウンロードできるようにする多くの例を見つけました。

私は2つのことを知りたいです:

  1. フィドルのajax結果をファイルとしてディスクに直接書き込む方法はありますか(プロンプトは表示されません)。たとえば、ユーザーのデスクトップに似ています。

  2. これに最も適した形式は blob ですか?

http://jsfiddle.net/FBGDe/

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
    if (this.readyState == 4 && this.status == 200){
        console.log(this.response, typeof this.response);
        var img = document.getElementById('img');
        var url = window.URL = window.webkitURL;
        img.src = url.createObjectURL(this.response);
    }
}
xhr.open('GET', 'http://www.newyorker.com/online/blogs/photobooth
                                                       /NASAEarth-01.jpg');
xhr.responseType = 'blob';
xhr.send();      
4

2 に答える 2

9

残念ながら、現在、通常のファイルへの書き込みはできません ( HTML5 と JavaScript を使用してローカル ファイルを変更するという受け入れられた回答にもかかわらず)。

サンドボックス化されたファイルシステムにのみ書き込むことができます。

参考までに、Chrome パッケージ アプリでこれを行うことができます: http://developer.chrome.com/apps/fileSystem.htmlただし、それでもユーザーは少なくとも最初にファイルを選択する必要があります。ファイルへの書き込みは、深刻なセキュリティ ホールになります。

あなたが本当に解決しようとしている問題は何ですか?

于 2013-11-02T16:42:05.250 に答える