记录:前端通过url和ajax下载图片

这段代码展示了如何使用XMLHttpRequest和Blob对象从指定URL下载图片,并在非IE10+浏览器中利用创建的URL对象实现点击下载。同时,为了减少内存占用,使用window.URL.revokeObjectURL释放URL。
摘要由CSDN通过智能技术生成
export function downLoadImage(url) {
    let x = new XMLHttpRequest()
    let resourceUrl = url
    let name = url.split('/').slice(-1)[0].split('.')[0]
    x.open('GET', resourceUrl, true)
    x.responseType = 'blob'
    x.onload = e => {
        // ie10+
        if (navigator.msSaveBlob) {
            let name = resourceUrl.substr(resourceUrl.lastIndexOf('/') + 1)
            return navigator.msSaveBlob(x.response, name)
        } else {
            let url = window.URL.createObjectURL(x.response)
            let a = document.createElement('a')
            a.href = url
            a.download = name //保存的文件名称
            a.click()
        }
    }
    x.send()
}




window.URL.revokeObjectURL(url)

最后得使用window.URL.revokeObjectURL(url)减少内存占用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值