2016-09-08 5 views
2

メテオのアプリケーションのユーザーがボタンをクリックしてアクセス可能な複数のファイルをダウンロードできるようにしようとしています。 Slingshotパッケージ)。メテオでS3ファイルのZIPファイルを生成する方法

私の最初のアイデアは、ブラウザの新しいタブで各ファイルを開くだけでしたが、いくつかのブラウザでは複数の新しいタブを開いてポップアップとして見ることはできません。

私はJSZipパッケージを見てきましたし、私は基本的なテキストを使用してZIPファイルOKを作成する方法を理解すると思う

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のパッケージをサポートし、あなたはファイルのセットのzipファイルをダウンロードするためのs3-zipパッケージを使用することができます。

サンプル使用:このパッケージに

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); 

がリンク:s3-zip

追加resouces:

  1. Installing npm package in Meteor
  2. Using npm package in Meteor

npmパッケージを直接使用すると、流星1.3以上で動作します。下位バージョン用this package

+0

多くのありがとうAnkit、私はそれを見てみましょう! –

+0

ようこそ!これがうまくいけば教えてください。 – Ankit

関連する問題