繁体   English   中英

如何在Android设备上设置“Content-Disposition:inline;”文件的文件名?

[英]How to set a filename for “Content-Disposition: inline;” file on android device?

问候语。

我使用以下一组标题来处理在浏览器窗口中内联打开的文件(通常是PDF):

header("Content-Type: " . $mime[$ext]);
header("Content-Disposition: inline; filename=" . $path_parts["basename"]);
header("Content-length: $fsize");
header("Cache-control: private");

此代码放在download.php文件中,以实现在将文件实际抛出到客户端之前执行的额外步骤。 将uri to file设置为get变量,如下所示:

http://sitedotcom/download.php?=file=path-to-file.pdf

问题是以下几点。 桌面在浏览器窗口中打开文件,但是android设备会下载并将文件名设置为download.php而不是path-to-file.pdf。 这会引起误解,我正在寻求帮助。

有没有办法以某种方式设置标题,以便文件获得正确的名称?

也许你可以像这样使用apache模块重写:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^pdf/([^/\.]+)$ download.php?file=$1 [L]
</IfModule>

用户会要求:

http://sitedotcom/pdf/path-to-file.pdf

并且PHP将处理URL

http://sitedotcom/download.php?file=path-to-file.pdf

因此,当文件将被保存时,它将位于“path-to-file.pdf”下

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM