前端js处理接口返回的压缩包(亲测可用)

依赖jszip.js和FileSaver.js两个js库,可以到官网下载

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script src="./jquery3.5.1.js"></script>
    <script src="./jszip.min.js"></script>
    <script src="./FileSaver.min.js"></script>
    <script type="text/javascript">
        $(function () {
            var xmlhttp;
            xmlhttp = new XMLHttpRequest();
            xmlhttp.open("GET", "http://192.168.xx.xx:xx/tasks/screenshots/120", true);  // 此接口返回一个压缩包,其中包含若干jpg格式的图片,本demo将图片展示到前台
            // xmlhttp.setRequestHeader("Authorization", "Bearer xxxx");  // 这是认证报头,按需
            xmlhttp.responseType = "blob";
			
            xmlhttp.onload = function () {
                if (this.status == 200) {
                    var blob = this.response;
                    var new_zip = new JSZip();
                    new_zip.loadAsync(blob).then(function (file) {
			var files = file.files;
			for (it in files) {
			var zipobj = files[it];
				if (!zipobj.dir) {
				      new_zip.file(it).async("blob").then(function (blob) {
				            var imgUrl = URL.createObjectURL(blob);
				            $("#kkk" ).attr("src", imgUrl);
				      });
				 }
			      }
			});
                }
            }
            xmlhttp.send();
        });
    </script>
</head>

<body>
	<img id="kkk" src=""/>
</body>

</html>
posted @   JaxYoun  阅读(1720)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示