asp.net - 我使用了正确的内容类型和标题,所以为什么 FireFox 保存没有扩展名的 Zip 文件

标签 asp.net types zip mime

我网站上的用户可以选择将相册中的所有照片下载为 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/

相关文章:

java - 为什么在 REPL 中没有观察到通配符类型和存在类型之间指定的等价性

types - 如何在 "with"子句中使用 Refl

sql - 基于 SQL 查询将值添加到下拉列表

asp.net - HTML.Encode() - 它是什么/如何防止 ASP .NET 中的脚本安全问题?

javascript - CheckBoxList 控件在回发后丢失所有项目

scala - 概括一个 "next permutation"函数

compression - 如何将一个文件存储在一个 zip 文件中,而不是将其复制到 50 个文件夹中

c++ - 使用 Zip Utils 压缩增量文件名

python - 如何从 ZipFile 进行流式传输?如何压缩 "on the fly"?

c# - Google Adword 和 asp.net 母版页