2016-04-30 151 views
0
var bl = window.URL.createObjectURL(xhr.response) 

var zip = new JSZip(); 
zip.file(bl); 

zip.generateAsync({type:"blob"}) 
.then(function(content) { 
    saveAs(content, "example.zip"); 

}, function(err){ 
    console.log(err) 
}) 

私のXmlHttpRequestはイメージファイルから 'blob'型の応答を受け取りました。エラーなしでzipファイルを作成できるように、イメージファイル(.gif、.jpg、.bmp、.jpg-largeなど)に変換するにはどうすればよいですか?JSZipを使用したJavascriptのBLOBからイメージへの変換

+1

[.FILE](https://stuk.github.io/jszip/documentation/api_jszip/file_name.html)渡された単一の引数は、ファイルを設定していないファイルを取得するためにtrys。 [ファイル](https://stuk.github.io/jszip/documentation/api_jszip/file_data.html)を設定するには、名前とコンテンツの2つの引数を渡す必要があります(取得したBLOBにすることができます) –

答えて

1

URL.createObjectURLとすると、ブロブのURL(たとえばblob:https://stackoverflow.com/e62c177a-b4b1-4945-8e13-53bb5a3c8f34)が表示されます。 JSZipはそれを解決しませんが、blob(あなたの場合はxhr.response)を直接使用することができます。パトリック・エバンスがコメントで言ったように、ファイル名を与える必要もあります。

var zip = new JSZip(); 
zip.file("my_file.ext", xhr.response); 

zip.generateAsync({type:"blob"}) 
.then(function(content) { 
    saveAs(content, "example.zip"); 
}, function(err){ 
    console.log(err) 
}); 
関連する問題