2016-09-08 4 views
2

내 유성 앱의 사용자가 버튼을 클릭하고 액세스 할 수있는 여러 파일을 다운로드 할 수있는 방법을 찾으려고합니다. 슬링 샷 패키지).Meteor에서 S3 파일의 ZIP 파일을 생성하는 방법

첫 번째 아이디어는 각 파일을 브라우저의 새 탭에서 열었지만 일부 브라우저에서는 여러 개의 새 탭을 열어 팝업으로 볼 수 없다는 것을 알았습니다.

나는 JSZip 패키지를 본 적이와 ​​나는 기본 텍스트를 사용하여 ZIP 파일의 확인을 만드는 방법을 이해 생각

var zip = new JSZip(); 
zip.file("Hello.txt", "Hello World\n"); 
var img = zip.folder("images"); 
img.file("smile.gif", imgData, {base64: true}); 
var content = zip.generate({type:"blob"}); 

삽입하지만 여러 가지의 ZIP 파일을 생성하는 방법에 덜 확신 내가 통과 한 S3 URL.

ZIP에 이러한 원격 파일을 추가하는 방법이나 브라우저에서 여러 번 다운로드 할 수있는 방법에 대한 지침이있는 사람이 있습니까?

많은 감사

답변

1

유성은 NPM 패키지를 지원하며 파일 세트의 압축을 다운로드 s3-zip 패키지를 사용할 수 있습니다.

샘플 사용 : s3-zip

추가 resouces :

  1. Installing npm package in Meteor
  2. Using npm package in Meteor
이 패키지에

var s3Zip = require('s3-zip'); 
var fs = require('fs'); 

var region = 'bucket-region'; 
var bucket = 'name-of-s3-bucket'; 
var folder = 'name-of-bucket-folder/'; 
var file1 = 'Image A.png'; 
var file2 = 'Image B.png'; 
var file3 = 'Image C.png'; 
var file4 = 'Image D.png'; 

var output = fs.createWriteStream(__dirname + '/use-s3-zip.zip'); 

s3Zip 
    .archive({ region: region, bucket: bucket}, folder, [file1, file2, file3, file4]) 
    .pipe(output); 

링크

npm 패키지를 직접 사용하면 유성기 1.3 이상에서 작동합니다. 더 낮은 버전을 사용하십시오 this package

+0

많은 감사 Ankit, 나는 그것을 볼 것입니다! –

+0

환영합니다! 이것이 효과가 있는지 알려주세요. – Ankit