【问题标题】:Send javascript alert before or while or after file finish download在文件完成下载之前或期间或之后发送 javascript 警报
【发布时间】:2014-06-04 20:06:57
【问题描述】:

如果 .zip 下载(里面有一些照片)达到确定的大小,比如 10MB,我想打印一个 javascript 警报或任何方式的警报给用户,以通知他下载已被封顶,因为它达到了 60MB 的限制。

我在这里使用 MVC,我的控制器知道 .zip 文件的大小,但我如何在达到该限制后发送该警报并仍将文件提供给用户下载?

我通过设置标题 Content-Type、Content-Length、Content-Disposition 和文件名来输出文件:

// alert could be here
// 60000*1024 means 60MB
// if (filesize($file_zip) >= 60000*1024) alert('alert msg');

header('Content-Type: application/zip');
header('Content-Length: '.filesize($file_zip));
header('Content-Disposition: attachment; filename=testPhotos.zip');
readfile($file_zip);
unlink($file_zip);

我需要这样做,因为由于某种原因,该 .zip 文件达到 63.7MB 并且浏览器显示空白屏幕后请求才停止。不,请求不会超时,因为它被设置为一个高值。我不知道这是 php 还是 nginx 配置限制。

【问题讨论】:

    标签: javascript php download alert


    【解决方案1】:

    把它分解成两个 ajax 调用,你一个接一个地链接。首先,请求服务器压缩文件,返回成功代码以及可能的错误消息(文件太大等),以及刚刚创建的压缩文件的某种标识符。如果 zip 不是太大,则直接使用您刚刚获得的标识符请求它。否则,显示您的错误消息。

    【讨论】:

      猜你喜欢
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 2016-02-25
      • 2011-10-09
      • 1970-01-01
      • 2019-06-06
      • 1970-01-01
      相关资源
      最近更新 更多