gpt4 book ai didi

c# - 如何向客户端发送多个文件以供下载

转载 作者:太空狗 更新时间:2023-10-29 22:28:28 27 4
gpt4 key购买 nike

我正在使用处理程序 (.ashx) 来处理一些文件。我有一个存放电子书的文件夹。我以书籍PK来命名,每本书可能有几种不同的格式:

211.html
211.pdf
211.prc

以下测试代码成功下载一本书。

context.Response.ContentType = "application/octet-stream";
context.Response.AppendHeader("Content-Disposition", "attachment;filename=myfile.pdf");
context.Response.TransmitFile(context.Server.MapPath("~/Media/eBooks/212.pdf"));

如何为客户提供三种不同的格式? (客户现有组织不在文件夹中)

我正在尝试做这样的事情:

DirectoryInfo bookDir  = new DirectoryInfo(context.Server.MapPath("~/Media/eBooks"));
FileInfo[] f = bookDir.GetFiles();

foreach (var n in f)
{
context.Response.AppendHeader("Content-Disposition", "attachment;filename=myfile.pdf");
context.Response.TransmitFile(context.Server.MapPath("~/Media/eBooks/212.pdf"));
}

但它会下载一个没有文件扩展名的文件。

最佳答案

您可以在一个响应中发送多个文件的唯一方法是将它们放入存档包中,例如一个 .zip 文件。 至少可以使用代码,使用各种工具来完成(IIRC,现在主 .NET 框架中有一个 zip 打包器;否则,SharpZipLib 可以很好地完成这项工作)。

关于c# - 如何向客户端发送多个文件以供下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5907465/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com