あなたがモノを使用できる場合は、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();
DotNetZipはオープンソースであり、無料で使用できます。
amazon s3とクライアントの間でプロキシとしてWebサーバーを使用しない*これを行うためのソリューションを見たいと思います。 – andrewrk
https://github.com/gchaincl/s3zipper – alextsil