在文件完成下载之前或之后发送javascript警报

Send javascript alert before or while or after file finish download

本文关键字:或之后 javascript 警报 文件 下载      更新时间:2023-09-26

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

我在这里使用MVC,我的控制器知道。zip文件的大小,但我如何发送警报后,它达到了限制,仍然给用户下载的文件?

我通过设置标题内容类型,内容长度,内容处置和文件名来输出文件:

// 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,7 mb后停止,并且浏览器显示空白屏幕。不,请求不会超时,因为它被设置为一个高值。我不知道这是php还是nginx的配置限制

将其分解为两个ajax调用,一个接一个地链接起来。在第一种情况下,请求服务器压缩文件,返回成功代码以及可能的错误消息(文件大小太大等),以及刚刚创建的压缩文件的某种标识符。如果zip文件不是太大,那么使用您刚刚获得的标识符直接请求它。否则,显示错误信息。

相关文章: