好的,我已经通过“相关问题”部分阅读了很好的内容,但我还没有找到答案。
我正在向force a php download使用ajax请求。 PHP端的工作正常。假设我有一个名为DATA
的数据流。现在,我想弹出一个“另存为...”对话框。
浏览器收到一串十六进制值。现在,我如何处理客户端(javascript)端的DATA
?
根据上面的链接,这是我正在使用的PHP代码:
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename=$file');
readfile($file);
我试过
DATA
) - >十六进制流不存在(当然)DATA
- >同样的问题BTW,如果我从PHP回显文件然后使用window.open,它有时会工作。但不适用于txt文件或jpgs等。
我见过这个在其他网站上工作 - 他们是怎么做到的?提前谢谢。
答案 0 :(得分:0)
以下是我要找的答案:
window.open("downloadPage.php");
...每次弹出一个盒子。 ajax请求的问题是返回的文件流被解释为XMLHttpRequestObj.reponseText
。
浏览器显然以不同的方式解释了这一点,并且不允许下载。