我有一个网络应用程序,执行字符编码转换.ssa文件(SubStation阿尔法字幕文件基本上)。这些文件的MIME类型为text/plain。当应用程序执行转换时,它会创建一个下载新文件的链接。在Safari中,这是完美的。然而,在Chrome中,当你点击下载链接时,它会尝试将文件保存为download.txt,而不管实际的文件名是什么。在火狐(测试版)中,它试图将其保存为类似于kP3844h1.txt.part的东西。我如何才能告诉这些浏览器只使用链接的文件名?在所有情况下,文件的内容都是正确的,它只是浏览器“另存为...”中的名称。对话框被搞砸了。
目前我的.htaccess是这样的:
AddType text/plain ssa
<Files *.ssa>
#ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>我已经尝试使用这两个未注释的<Files>行,以及其中一个单独注释的行,但这些选项都没有给出我正在寻找的解决方案。
此外,这个应用程序是用PHP编写的,所以如果我可以用PHP代码来做一些事情,而不是搞乱.htaccess,我愿意接受建议。
发布于 2011-01-24 03:19:51
使用Content-Disposition attachment; filename="$actual_filename.txt"作为标头。将$actual_filename.txt替换为文件的实际名称。我不知道在Apache配置中这是否可能,但是如果您通过PHP传输文件,您也许能够用header函数设置头文件。
https://stackoverflow.com/questions/4775825
复制相似问题