js 下载文件(根据URL下载文件,根据URL下载图片)

简介: js 下载文件(根据URL下载文件,根据URL下载图片)

根据URL下载图片

    // 根据URL下载图片
    function downloadImgURL(url, name) {
        let image = new Image();
        image.setAttribute("crossOrigin", "anonymous");
        image.src = url;
        image.onload = () => {
            let canvas = document.createElement("canvas");
            canvas.width = image.width;
            canvas.height = image.height;
            let ctx = canvas.getContext("2d");
            ctx.drawImage(image, 0, 0, image.width, image.height);
            canvas.toBlob(blob => {
                let url = URL.createObjectURL(blob);
                let a = document.createElement("a");
                a.download = name;
                a.href = url;
                a.click();
                a.remove();
                // 用完释放URL对象
                URL.revokeObjectURL(url);
            });
        };
    }

根据URL下载文件

    // 根据URL下载文件
    function downloadURL(url, filename) {
        let a = document.createElement("a");
        a.href = url;
        a.download = filename;
        a.click();
    }

实战测试

<template>
    <div style="padding:20px">
        <button @click="downloadFileByURL">根据URL下载文件</button>
        <br>
        <button @click="downloadImgByURL">根据URL下载图片</button>
    </div>
</template>
<script>
    export default {
        data() {
            return {
                ImgURL: 'https://t7.baidu.com/it/u=1595072465,3644073269&fm=193&f=GIF',
                fileURL: 'http://106.12.123.173/works/itDic/IT速查宝典.zip',
            };
        },
        methods: {
            downloadImgByURL() {
                downloadImgURL(this.ImgURL, '根据URL下载的图片')
            },
            downloadFileByURL() {
                downloadURL(this.fileURL, '根据URL下载文件')
            }
        },
    };

    // 根据URL下载文件
    function downloadURL(url, filename) {
        let a = document.createElement("a");
        a.href = url;
        a.download = filename;
        a.click();
    }

    // 根据URL下载图片
    function downloadImgURL(url, name) {
        let image = new Image();
        image.setAttribute("crossOrigin", "anonymous");
        image.src = url;
        image.onload = () => {
            let canvas = document.createElement("canvas");
            canvas.width = image.width;
            canvas.height = image.height;
            let ctx = canvas.getContext("2d");
            ctx.drawImage(image, 0, 0, image.width, image.height);
            canvas.toBlob(blob => {
                let url = URL.createObjectURL(blob);
                let a = document.createElement("a");
                a.download = name;
                a.href = url;
                a.click();
                a.remove();
                // 用完释放URL对象
                URL.revokeObjectURL(url);
            });
        };
    }
</script>


目录
相关文章
|
7月前
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
210 4
|
4月前
|
移动开发 JavaScript 前端开发
【Html.js——图片折叠效果】折叠手风琴(蓝桥杯真题-1763)【合集】
本项目实现了一个图片折叠手风琴效果,使用jQuery完成。主要包括以下部分: - **介绍**:任务是通过点击图片实现折叠和展开的效果。 - **准备**:内置初始代码,包含 `css/style.css`、`images/` 文件夹、`js/` 文件夹及 `index.html` 等文件。启动 Web Server 服务可运行项目。 - **目标**:完善 `index.js` 文件,使页面达到预期的折叠效果。 - **规定**:严格按步骤操作,保持默认文件结构不变,并在完成后保持 Web 服务正常访问状态。 - **通关代码**:使用 jQuery 实现点击事件,为选中元素添加 `act
65 19
|
5月前
|
JavaScript 容器
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件
|
6月前
|
JavaScript 前端开发 索引
JavaScript获取url网址中域名后面的部分
如何截取 url 中网站域名之后的部分,需要用到以下几个方法:
159 3
|
7月前
|
存储 开发框架 JavaScript
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单
232 0
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单
|
8月前
|
JavaScript 前端开发 Python
JavaScript写个.ts视频文件Url生成器,使用了string.padStart
JavaScript写个.ts视频文件Url生成器,使用了string.padStart
|
8月前
|
数据采集 存储 前端开发
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
|
8月前
|
JavaScript 前端开发
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
|
8月前
|
前端开发 JavaScript
前端JS截取url上的参数
文章介绍了两种前端JS获取URL参数的方法:手动截取封装和使用URLSearchParams。
116 0

热门文章

最新文章