React 는 배경 그림 경 로 를 통 해 사진 을 포장 하여 다운로드 합 니 다.

1354 단어 JSReact
사용 한 의존 패키지: jszip file-saver
npm i file-saver --save -dev
npm i jszip --save -dev

jszip.js
import JSZip from 'jszip'
import FileSaver from 'file-saver'

export default function toZip(imgSrcList,fileName) {
	let zip = new JSZip();//           
	let imgFolder = zip.folder(fileName); //               ,      
	for(let i=0;i {
			imgFolder.file((i+1)+'.jpg', getBase64Image(tempImage).substring(22), { base64: true })
		}
	}
	setTimeout(()=>{
		zip.generateAsync({ type: 'blob' }).then( function(content) {
			FileSaver.saveAs(content, 'images.zip')
		})
	},3000)
}

function getBase64Image(img) {
	let canvas = document.createElement("canvas");
	canvas.width = img.width;
	canvas.height = img.height;
	let ctx = canvas.getContext("2d");
	ctx.drawImage(img, 0, 0, img.width, img.height);
	let ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();
	let dataURL = canvas.toDataURL("image/"+ext);
	return dataURL;
}


사용 방법:
//   jszip.js  

import toZip from 'utils/jszip'

//     

toZip(imgSrcList,fileName);

좋은 웹페이지 즐겨찾기