从Amazon S3流式传输动态zip

Gor*_*nor 8 ruby zip actionscript amazon-s3 amazon-ec2

我正在寻找一种从Amazon S3动态流式下载文件压缩的​​方法.

该应用程序托管在EC2上,文件存储在S3上.

需要让用户能够从一组文件中进行选择,然后将这些文件捆绑并下载到这些文件中.

已经听说过一些可能的ActionScript库(aszip和fzip),或者可以在Ruby中完成,甚至可能是PHP.

这些文件不需要任何压缩,zip只是用于将文件捆绑到一个单独的下载....

Che*_*eso 0

如果你可以使用 Mono,DotNetZip就能做到。

Response.Clear();
Response.BufferOutput= false;  // necessary for chunked output
String ReadmeText= "This content goes into an entry in the " +
                   "zip file.  Timestamp, MD5, whatever." ; 
string archiveName= String.Format("archive-{0}.zip", DateTime.Now.ToString("yyyy-MMM-dd-HHmmss")); 
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "filename=" + archiveName);

using (ZipFile zip = new ZipFile())
{
    zip.AddEntry("Readme.txt", "", ReadmeText, Encoding.Default);
    zip.AddFiles(filesToInclude, "files");
    zip.Save(Response.OutputStream);
}
HttpContext.Current.ApplicationInstance.CompleteRequest();
Run Code Online (Sandbox Code Playgroud)

DotNetZip 是开源的,可以免费使用。