HTML realiza la descarga de paquetes de varios archivos (archivo mp4)

Use jszip.js y fileSaver.js para empaquetar y descargar

Debido a que la compañía simplifica el proyecto, todas las funciones se combinan con websocket y grabación y transmisión. Los programas grabados deben empaquetarse y descargarse. Encontré sjzip después de buscar muchas formas, así que grábelo para usarlo más adelante.
inserte la descripción de la imagen aquí

1. El paquete jar que necesita ser importado

<!--使用jszip压缩视频文件-->
<script src="js/jszip.min.js"></script>
<script src="https://cdn.bootcss.com/FileSaver.js/2014-11-29/FileSaver.js"></script>

Dirección y documentación del sitio web oficial de jszip:

Cómo usar JSZip (stuk.github.io)

ruta de descarga jszip.js

ruta de descarga jszip.js

Nota: Debido a que todos los documentos jszip registran imágenes o documentos, quiero descargar videos y me tomó mucho tiempo lograrlo, jajajajajaja

Dos, código js

<script>
	function  downloadAllFile(Hdrresource,Hdmovie){
    
    
    		//Hdrresource和Hdmovie都是两个数组
		var loc=window.location.href;
		var arr=loc.split("/");
		arr=arr[2];   //获取根路径
		var zip=new JSZip();
		//var imgData="http://ip:端口号/vod/mp4/"+arrays[0];
		//zip.file("Hello.txt","Hello World\n");  //创建Hello.txt文档
		//设置下载视频文件(高清资源模式)
		var packagename=zip.folder("高清资源模式"); //新创建的文件夹名称
		//base64图片需要去掉base图片标识
		if (Hdrresource!=undefined&&Hdrresource!=null&&Hdrresource!=""){
    
    
			for (let i = 0; i < Hdrresource.length; i++) {
    
    
				//file(文件名称,文件地址)
				packagename.file(Hdrresource[i],"http://"+arr+"/vod/mp4/"+Hdrresource[i]);  //向创建的文件夹中添加文件
			}
		}
		//设置下载视频文件(高清电影模式)
		var packagenamemovie=zip.folder("高清电影模式"); //新创建的文件夹名称
		//base64图片需要去掉base图片标识
		if (Hdmovie!=undefined&&Hdmovie!=null&&Hdmovie!=""){
    
    
			for (let i = 0; i < Hdmovie.length; i++) {
    
    
				//file(文件名称,文件地址)
				packagenamemovie.file(Hdmovie[i],"http://"+arr+"/vod/mp4/"+Hdmovie[i]);  //向创建的文件夹中添加文件
			}
		}
		zip.generateAsync({
    
    
			type:"blob", //压缩类型
			compression:"DEFLATE", //store:默认不压缩,defalte:需要压缩
			compressionOptions:{
    
    
				level:9  //压缩等级1--9, 1:压缩速度最快,9:最优压缩方式
			}
		})
		.then(function(content){
    
    
			//直接在浏览器打成qiwntao.zip包并下载,saveAs依赖的js是FileSaverjs
			saveAs(content,"视频文件.zip");
		})
	}
</script>

Tres, representaciones

[Error en la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo de enlace antirrobo, se recomienda guardar la imagen y cargarla directamente (img-3rwmsNnB-1641806033332) (E:\Project Function Realization\img\Download.png )]

inserte la descripción de la imagen aquí

[Error en la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo de enlace antirrobo, se recomienda guardar la imagen y cargarla directamente (img-At1aWWp3-1641806033333) (E:\Project Function Realization\img\HD.png )]

Supongo que te gusta

Origin blog.csdn.net/weixin_44975322/article/details/122415048
Recomendado
Clasificación