我正在尝试从网络中获取多个文件并压缩成一个文件,然后打开一个窗口以允许用户将压缩文件保存在他/她的机器中。
我当前的工作代码会压缩文件并将其返回到angularJS中的客户端,但它不会启动下载。从客户端我正在进行git调用,获取对象列表并将其传递给downloadFiles函数。我想从API处理下载,而不是从客户端处理。 // obj List包含需要在zip下载的所有文件信息
public HttpResponseMessage downloadFiles(List<obj> arr)
{
using (ZipFile zip = new ZipFile())
{
foreach (var d in arr)
{
zip.AddEntry(d.FileName, d.URL);
}
return ZipContentResult(zip);
}
}
protected HttpResponseMessage ZipContentResult(ZipFile zipFile)
{
var pushStreamContent = new PushStreamContent((stream, content, context) =>
{
zipFile.Save(stream);
stream.Close();
}, "application/zip");
return new HttpResponseMessage(HttpStatusCode.OK) { Content = pushStreamContent };
}