最新发布 js前端网页下载图片

发布时间: 2022-12-30,浏览量:462
判断浏览器
if(!!window.ActiveXObject || "ActiveXObject" in window){
            alert('请使用chorme或360极速等浏览器!!!')
            return;
        }

   //下载图片 先将图片的url想办法转成base64
    // function download() {
    //     let imgData = 'data:image/png;base64,iVBORw0KGgoAAAANSUh........';
    //     downloadFile('测试.png', imgData);
    // }
    //下载
    function downloadFile(fileName, content) {
        let aLink = document.createElement('a');
        let blob = base64ToBlob(content); //new Blob([content]);

        let evt = document.createEvent("HTMLEvents");
        evt.initEvent("click", true, true);//initEvent 不加后两个参数在FF下会报错  事件类型,是否冒泡,是否阻止浏览器的默认行为
        aLink.download = fileName;
        aLink.href = URL.createObjectURL(blob);
        // aLink.dispatchEvent(evt);
        //aLink.click()
        aLink.dispatchEvent(new MouseEvent('click', {bubbles: true, cancelable: true, view: window}));//兼容火狐
    }
    //base64转blob
    function base64ToBlob(code) {
        let parts = code.split(';base64,');
        let contentType = parts[0].split(':')[1];
        let raw = window.atob(parts[1]);
        let rawLength = raw.length;

        let uInt8Array = new Uint8Array(rawLength);

        for (let i = 0; i < rawLength; ++i) {
            uInt8Array[i] = raw.charCodeAt(i);
        }
        return new Blob([uInt8Array], {type: contentType});
    }

热门文章 经典语录

热门文章 热门文章

查看更多