【问题标题】:Javascript handling of php readfile octet streamphp readfile八位字节流的Javascript处理
【发布时间】:2010-12-29 16:00:14
【问题描述】:

好的,我已经仔细阅读了“相关问题”部分,但没有找到这个答案。

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

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

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

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

我试过了

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

顺便说一句,如果我从 PHP 回显文件然后使用 window.open,它有时会起作用。但不适用于 txt 文件或 jpgs 等。

我已经在其他网站上看到过这种情况 - 他们是如何做到的?提前致谢。

【问题讨论】:

    标签: php javascript ajax


    【解决方案1】:

    这是我一直在寻找的答案:

    window.open("downloadPage.php");
    

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

    浏览器显然对此有不同的解释,并且不允许下载。

    【讨论】:

      猜你喜欢
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-14
      • 2011-11-03
      • 2020-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多