当前位置:首页 > jquery

jquery下载图片

2026-04-08 08:24:23jquery

jquery下载图片

使用jQuery下载图片的方法

通过创建隐藏的<a>标签触发下载

创建一个隐藏的<a>元素,设置其href为图片URL,并添加download属性。使用jQuery触发点击事件实现下载:

jquery下载图片

function downloadImage(url, filename) {
    $('<a>', {
        href: url,
        download: filename || 'image.jpg'
    })[0].click();
}

使用Blob对象处理跨域图片

当遇到跨域问题时,可以通过AJAX获取图片数据并转换为Blob对象:

function downloadCrossOriginImage(url, filename) {
    $.ajax({
        url: url,
        xhrFields: { responseType: 'blob' },
        success: function(data) {
            const blobUrl = URL.createObjectURL(data);
            $('<a>', {
                href: blobUrl,
                download: filename || 'image.jpg'
            })[0].click();
            URL.revokeObjectURL(blobUrl);
        }
    });
}

注意事项

  • 现代浏览器要求下载操作必须由用户交互(如点击事件)直接触发
  • download属性在不同浏览器中的支持程度可能不同
  • 跨域请求需要服务器配置CORS头部允许访问

完整示例代码

$(document).ready(function() {
    $('#download-btn').click(function() {
        const imageUrl = 'https://example.com/image.jpg';
        downloadImage(imageUrl, 'custom_filename.jpg');
    });
});

分享给朋友:

相关文章

jquery 节点

jquery 节点

jQuery 节点操作 jQuery 提供了丰富的 DOM 节点操作方法,可以轻松实现节点的增删改查。 查找节点 使用选择器查找节点是最常见的操作。jQuery 支持 CSS 选择器语法,可以快速定…

jquery循环

jquery循环

jQuery 循环方法 jQuery 提供了多种循环方法,适用于不同的场景,包括遍历 DOM 元素、数组或对象。以下是常见的 jQuery 循环方式: each() 方法 each() 是 jQue…

jquery 跳转

jquery 跳转

jQuery 页面跳转方法 使用 jQuery 实现页面跳转可以通过多种方式完成,以下是几种常见的方法: 修改 window.location 属性 // 直接跳转到指定 URL window.l…

jquery滑动

jquery滑动

jQuery 滑动效果实现方法 使用 slideDown() 和 slideUp() slideDown() 用于向下滑动显示元素,slideUp() 用于向上滑动隐藏元素。两者均可设置动画持续时间(…

jquery怎么用

jquery怎么用

jQuery的基本用法 jQuery是一个快速、简洁的JavaScript库,简化了HTML文档遍历、事件处理、动画和Ajax交互。以下是其核心用法: 引入jQuery库 在HTML文件中通过CDN…

jquery文件上传

jquery文件上传

jQuery 文件上传实现方法 基础文件上传实现 使用 jQuery 结合 HTML5 的 FormData 对象可以实现异步文件上传。创建一个包含文件输入的表单: <form id="upl…