Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Android下载文件名与标题不对应_Php_Android_Google Chrome_Http Headers_Content Disposition - Fatal编程技术网

Php Android下载文件名与标题不对应

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

我正在使用Nexus7进行测试,任何其他平台都没有我可以测试的情况。我使用handle.php处理下载,在
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"] . '"');