在web前端項目中,很多地方的下載單張圖片/文件都可以用<a href="/images/logo.png" download="文件名">來下載指定文件
遇到的問題:
在下載多個文件的時候 使用for 循環來觸發 a href download (此批量下載方法當然不推薦 很lowB 也體驗不好 只是偶爾發現此問題 )
//for循環來觸發a href 下載文件 for(let i=0;i<=100;i++){ // 獲取要下載的圖片dom var img = document.getElementsByClassName('qrcode_canvas')[i]; //獲取地址 var url = img.src; var a = document.createElement('a'); //模擬點擊 var event = new MouseEvent('click'); a.download="xxxxx.png"; a.dispatchEvent(event); }
1.此方法在mac的電腦上的chrome 上,不論怎么操作,不管是mac筆記本 8GB16GB運行內存的,還是iMac 一體機16GB內存的 都只能下載 10 張(瀏覽器也沒有報任何錯誤的log信息 顯然不是內存問題)
2.而在window 系統上的chrome 上卻沒有發現限制,超過10張是可以正常下載的
目前並沒有找到具體問題的原因,只能是在現在單個文件時候 可以通過a href download 來下載,下載多個文件的時候用三方插件(主要用到 jszip 和 file-saver 直接下載多個文件的zip壓縮文件)
npm install jszip --save
npm install file-saver --save
拓展
https://blog.csdn.net/wzp6010625/article/details/100918051
目前此現象只發生在mac OS系統上
