在移动浏览器中强制下载php创建的文件

问题描述

在我的网站(基于PHP,使用TYPO3运行)上,用户可以动态下载构建文件,使用MDPF生成的PDF和从json中的表单输入构建的配置文件。两种下载都可以在桌面浏览器上正常运行,但是移动浏览器(在iPhone上经过Firefox,Safari,Chrome和Edge测试)仅打开这些文件,没有提供以任何方式保存它们的选项。可以,Chrome可以,但是声称该文件稍后会损坏。

由于最后需要重新上传json文件,因此这阻止了移动用户完全使用我的服务。

我在PHP中尝试了几种标头组合,这是json下载的当前代码

header("Content-Type: application/octet-stream");
header('Content-Length: ' . mb_strlen($content));
header('Content-transfer-encoding: binary');
header('Accept-Ranges: bytes');
header('Pragma: no-cache');
header('Expires: 0');
header('Content-disposition: attachment; filename=' . $filename .'.json');
echo $content;
exit();

我也尝试过header('Content-type: application/json');

静态PDF文件链接按预期方式下载,所以我认为我可以将文件保存在服务器上并提供链接,但是出于隐私原因,这并不是一种选择。必须有一种方法可以在移动浏览器上下载动态创建的文件,我缺少什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)