首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PHPSpreadsheet在移动应用程序上下载文件?

如何使用PHPSpreadsheet在移动应用程序上下载文件?
EN

Stack Overflow用户
提问于 2018-03-11 11:47:30
回答 1查看 550关注 0票数 0

对于我的项目,我使用PHPSpreadsheet导出数据的Excel和PDF格式。如果从网站上按下相应的下载按钮,我可以轻松下载.xlsx和.pdf文件,我的应用程序(iOs Swift语言)有问题。实际上,当我试图下载这些文件时,我会收到以下消息:

  • 对于Excel文件:“文件可能损坏”
  • 对于PDF文件(我用Chrome打开它):"Chrome不支持这个链接文件: ///var/mobile/Containers/Data/Application/.../Documents/name_file.pdf“

下面是处理下载的PHP代码片段:

PDF:

代码语言:javascript
复制
$ output. = '... html code';
$ mpdf = new \ Mpdf \ Mpdf ();
$ mpdf-> Bookmark ('Start of the document');
$ Mpdf-> WriteHTML ($ output);
$ mpdf-> Output ($ filename.'. pdf', 
\Mpdf\Output\Destination::DOWNLOAD);

EXCEL:

代码语言:javascript
复制
$spreadsheet = new Spreadsheet();  /*----Spreadsheet object-----*/
$Excel_writer = new Xlsx($spreadsheet);  /*----- Excel (Xls) Object*/

/* ...riempiendo foglio excel con i dati */

header('Content-Type: application/vnd.openxmlformats-
officedocument.spreadsheetml.sheet');
header('Content-Disposition: 
attachment;filename="'.$filename.'.xlsx"');
header('Cache-Control: max-age=0');
$Excel_writer->save('php://output');

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

发布于 2018-03-11 11:50:25

对于Excel文件:“文件可能损坏”

我的猜测是,当您查看文件内容时,您会发现Headers already sent PHP污染了您的文件。如果是这样的话,在调用任何一个开始() s之前,只需调用header()即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49219643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档