我网站上的用户可以选择将相册中的所有照片下载为 zip 文件。Zip 文件是动态创建的并保存到 Response.OutPutStream,以便在用户浏览器上检测为文件下载。
这是我输出的标题和内容类型
context.Response.AddHeader("Content-Disposition", "attachment; filename=Photos.zip");
context.Response.ContentType = "application/x-zip-compressed";
..除了 FireFox 之外,所有浏览器都可以正常工作。尽管 Firefox 正确地将下载检测为 Zip 文件,但它会保存不带 .zip 扩展名的文件。我想添加这个标题
context.Response.AddHeader("Content-Disposition", "attachment; filename=Photos.zip");
..应该强制 FF 保存扩展名。我相信我遵循了正确的协议(protocol),那么为什么 FF 会以这种方式行事,我该如何解决这个问题?
最佳答案
在名字两边加上引号:
context.Response.AddHeader("Content-Disposition", "attachment; filename=\"Photos.zip\"");
关于asp.net - 我使用了正确的内容类型和标题,所以为什么 FireFox 保存没有扩展名的 Zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2937297/