2013-01-06 22 views
5

複数の画像をサンドボックスファイルシステムにダウンロードすることはできますか(「別名で保存」ダイアログボックスまたはat-maxの1つの保存ダイアログなし)複数のファイルとZIPをダウンロードする - Chrome拡張子

ダウンロードした後、私はそれらを1つに圧縮したいと思います。事前に

おかげ..

+0

ます(ページにresources'のすべての 'の内容にアクセスすることができます画像、js \ cssファイルなど)私はJS – Sudarshan

答えて

1

あなたは、いくつかのWebページの定期的な部品として画像にアクセスしたり、XMLHTTPRequest sを用いて、それらを別々にダウンロードすることができます。その後、JSZip JavaScriptライブラリを使用して1つのアーカイブに圧縮することができます。ジップは「名前を付けて保存」ダイアログなしでファイルとして保存することができます(サイト上の例を試してください)。なぜあなたはsandboxが必要なのか分かりませんが。

ジップ用の他のJavaScriptライブラリがあります。たとえば、other SO answerに記載されています。

+0

を介してアーカイブの確信していませんいいえZIP ..ない質問は実際に - 私は画像をダウンロードするとき「saveAs」ダイアログを表示せずに画像をダウンロードすることはできますか? サイト内の例は、私が思ったよりも簡単に見えます。まずは試してみてください。 – raj

6

これにはzip.jsを使用できます。 HTTPから圧縮されるコンテンツを取得するAPI(zip.HttpReaderのコンストラクタを参照)と、生成されたzipをHTML5ファイルシステムに書き込むAPIを既に持っています(zip.FileWriterのコンストラクタ参照)。ここで

filesystem 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); 
    }); 
} 
+0

ChromeはChrome拡張機能が通常動作する場所です。 –

+0

これは古いですが、私の人生にとっては作成されたzipをダウンロードする方法を理解する。私は作品を作っているが、私は作成されたファイルのURLを見つける方法がわからない。 – GtwoK

関連する問題