php readfile八位组流的Javascript处理

时间:2010-10-14 05:59:40

标签: php javascript ajax

好的,我已经通过“相关问题”部分阅读了很好的内容,但我还没有找到答案。

我正在向force a php download使用ajax请求。 PHP端的工作正常。假设我有一个名为DATA的数据流。现在,我想弹出一个“另存为...”对话框。

浏览器收到一串十六进制值。现在,我如何处理客户端(javascript)端的DATA

根据上面的链接,这是我正在使用的PHP代码:

header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename=$file');
readfile($file);

我试过

  • window.open(DATA) - >十六进制流不存在(当然)
  • 提交表单,其中的操作为DATA - >同样的问题

BTW,如果我从PHP回显文件然后使用window.open,它有时会工作。但不适用于txt文件或jpgs等。

我见过这个在其他网站上工作 - 他们是怎么做到的?提前谢谢。

1 个答案:

答案 0 :(得分:0)

以下是我要找的答案:

window.open("downloadPage.php");

...每次弹出一个盒子。 ajax请求的问题是返回的文件流被解释为XMLHttpRequestObj.reponseText

浏览器显然以不同的方式解释了这一点,并且不允许下载。