2013-01-06 1 views
5

"다른 이름으로 저장"대화 상자 또는 at-max saveas 대화 상자없이 여러 이미지를 샌드 박스 파일 시스템에 다운로드 할 수 있습니까?여러 파일 및 우편 번호 다운로드 - Chrome 확장자

그들을 다운로드 한 후, 나는 ZIP으로 하나에 넣고 싶습니다. 거기에 자바 스크립트 아카이브 라이브러리가 있습니까? 당신은 어떤 웹 페이지의 일반 부품으로 이미지를 액세스하거나 XMLHTTPRequest들에 의해 개별적으로 다운로드 할 수 있습니다

+0

당신이 (페이지에서 resources'의 모든 '내용에 액세스 할 수 있습니다 이미지, js \ css 파일 등) JS – Sudarshan

답변

1

사전에

감사합니다 .... 그런 다음 JSZip JavaScript 라이브러리를 사용하여 단일 아카이브로 압축 할 수 있습니다. zip은 "다른 이름으로 저장"대화 상자없이 파일로 저장할 수 있습니다 (예제를 사이트에서 시도하십시오). 내가 왜 sandbox이 필요한지 잘 모르겠지만.

지퍼 링을위한 다른 JavaScript 라이브러리가 있습니다. 예를 들어, 일부는 other SO answer에 언급되어 있습니다.

+0

번호를 통해 보관 확신하지 않습니다. 우편하지 .. 질문은 실제로 - 이미지를 다운로드 할 때 , "saveAs"대화없이 이미지를 다운로드 할 수 있습니까? 그러나 사이트의 예는 내가 생각한 것보다 더 단순 해 보입니다. 먼저 시도해 보겠습니다. – raj

6

이 경우 zip.js을 사용할 수 있습니다. HTTP로부터 압축 (내용 : zip.HttpReader 생성자)하고 HTML5 파일 시스템에 생성 된 zip을 쓰려면 내용을 가져 오기위한 API가 이미 있습니다 (zip.FileWriter 생성자 참조).

index.html 파일 : 여기

filesystem API를 사용하는 예입니다

<!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 확장 프로그램이 일반적으로 실행되는 곳입니다. –

+0

이전 버전이지만 내게있어 생성 된 zip을 다운로드하는 방법을 찾아보십시오. 생성 기능이 작동하지만 생성 된 파일의 URL을 찾는 방법을 모르겠습니다. – GtwoK

관련 문제