Firefox:打开XLSX文件不保存打开二进制文件
我生成一个文件服务器端,我希望客户端自动打开它:这是一个XLSX文件。 Firefox只是打开文件,我在浏览器中看到XLSX文件的二进制内容,但我希望它通过另存为…框打开。
它在Chrome中使用相同的代码(它保存),但不是Firefox的工作正常。
有任何想法吗 ?
看看这个–php exec并返回二进制
你发送正确的标题? 就像是
header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"yourfile.xlsx\"");
UPDATE
header('Content-Type: application/xls'); header('Content-Disposition: attachment; filename=example.xlsx'); header('Pragma: no-cache'); echo file_get_contents("/path/to/yourfile.xlsx");
更新2
传播片MIMEtypes
application/vnd.ms-excel [official] application/msexcel application/x-msexcel application/x-ms-excel application/vnd.ms-excel application/x-excel application/x-dos_ms_excel application/xls
更新3
关于你的JavaScript问题,你尝试使用
location.href instead of window.open ??
您需要确保您将这个MIMEtypes作为Content-Type标头发送:
应用/ vnd.openxmlformats-officedocument.spreadsheetml.sheet
所以你需要将.xslx扩展名映射到服务器上的这个MIMEtypes