Php Android下载文件名与标题不对应
我正在使用Nexus7进行测试,任何其他平台都没有我可以测试的情况。我使用handle.php处理下载,在Php Android下载文件名与标题不对应,php,android,google-chrome,http-headers,content-disposition,Php,Android,Google Chrome,Http Headers,Content Disposition,我正在使用Nexus7进行测试,任何其他平台都没有我可以测试的情况。我使用handle.php处理下载,在echo文件内容之前,我使用: header('Content-length:' . $row['size']); header('Content-type:' . $row['mime']); 及 然后我使用android下载文件,但是如果我将代码的最后一行更改为 header('Content-Disposition:attachment; filename="' . $row["fi
echo
文件内容之前,我使用:
header('Content-length:' . $row['size']);
header('Content-type:' . $row['mime']);
及
然后我使用android下载文件,但是如果我将代码的最后一行更改为
header('Content-Disposition:attachment; filename="' . $row["file_name"] . '"');
有趣的是,文件名成了我想要的。
如果内容配置
为内联
且仅接受带有附件的文件名,Android是否无法获取文件名?
顺便说一句,我使用了原生Chrome浏览器(32.0)和Android 4.4.2
如果用户请求将内容保存到文件中,则Content Disposition response header字段可作为源服务器建议默认文件名的一种方式。此用法源自RFC 1806[35]中的内容处置定义
请注意,filename parm
仅为附件而不是内联内容指定。事实上,大多数浏览器都会解析参数并遵守它,但标准并不要求这种行为。如果您打算交付一个文件供下载,您应该将内容配置设置为附件
谢谢,我是否希望在浏览器中打开桌面并在移动设备中下载,同时文件名保留为我想要的名称?您必须根据UA发送不同的标题。对于移动浏览器,发送带有文件名的附件;对于桌面浏览器,发送带有可选文件名的内联附件。请注意,许多网站,例如gmail,都会有一个视图和一个下载链接,而这正是这样做的。
header('Content-Disposition:attachment; filename="' . $row["file_name"] . '"');