複数の画像をサンドボックス ファイル システムにダウンロードすることはできますか ([名前を付けて保存] ダイアログ ボックスを使用せずに、または最大 1 つの名前を付けて保存ダイアログ ボックスを使用しないで) ?
それらをダウンロードした後、それらを1つにZIPしたい.. JavaScriptアーカイブライブラリはありますか?
前もって感謝します..
複数の画像をサンドボックス ファイル システムにダウンロードすることはできますか ([名前を付けて保存] ダイアログ ボックスを使用せずに、または最大 1 つの名前を付けて保存ダイアログ ボックスを使用しないで) ?
それらをダウンロードした後、それらを1つにZIPしたい.. JavaScriptアーカイブライブラリはありますか?
前もって感謝します..
これにはzip.jsを使用できます。HTTP からコンテンツを取得して圧縮するための API ( zip.HttpReaderコンストラクターを参照) と、生成された zip を HTML5 ファイルシステムに書き込むためのAPI ( zip.FileWriterコンストラクターを参照) が既にあります。
ファイルシステム APIを使用した例を次に示します。
index.html
ファイル:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Zip JSON data from the BBC into HTML5 FileSystem</title>
</head>
<body>
<script src="zip.js"></script>
<script src="zip-fs.js"></script>
<script src="zip-ext.js"></script>
<script src="example.js"></script>
</body>
</html>
example.js
ファイル:
// create a zip virtual filesystem
var fs = new zip.fs.FS();
// add some files into the zip filesystem
// add the "bbc-music.json" file in the root directory
fs.root.addHttpContent("bbc-music.json",
"http://www.bbc.co.uk/programmes/genres/music.json");
// add the "bbc-learning.json" file in the root directory
fs.root.addHttpContent("bbc-learning.json",
"http://www.bbc.co.uk/programmes/genres/learning.json");
// create a file named "test.zip" in the root directory of the HTML5 filesystem
createFile("test.zip", function(fileEntry) {
// export the zip content into "test.zip" file
fs.root.exportFileEntry(fileEntry, function() {
console.log("done");
});
});
// function to create a file in the HTML5 temporary filesystem
function createFile(filename, callback) {
webkitRequestFileSystem(TEMPORARY, 4 * 1024 * 1024, function(fs) {
fs.root.getFile(filename, { create : true }, callback);
});
}
一部の Web ページの通常の部分として画像にアクセスすることも、XMLHTTPRequest
s を使用して個別にダウンロードすることもできます。この後、 JSZip JavaScript ライブラリを使用して単一のアーカイブに圧縮できます。zip は、[名前を付けて保存] ダイアログなしでファイルとして保存できます (サイトの例を試してください)。サンドボックスが必要な理由はわかりませんが。
圧縮用の他の JavaScript ライブラリが存在します。たとえば、他の SO answerで言及されているものもあります。