最近刚遇到这个问题,后台返回的图片链接,点击按钮批量下载,a
标签的 download
属性只对同源文件有效,
所以我们这里先把图片 url 转为 blob 格式,然后再下载
/**
** 将图片 url 转换为 blob 格式
** @param httpUrl: 图片链接,如 https://cdn.aaa.com/bbb.jpg
*/
private async urlToBlob(httpUrl) {
const res: Response = await fetch(httpUrl);
const blob: Blob = await res.blob();
const blobUrl = URL.createObjectURL(blob);
return blobUrl;
}
/**
** 下载图片到本地
** @param blobUrl: blob 格式的图片文件
** @param name: 图片名称
*/
private download(blobUrl, name) {
// 创建虚拟a标签
const eleLink = document.createElement('a');
eleLink.download = name;
eleLink.style.display = 'none';
eleLink.href = blobUrl;
// 触发点击
document.body.appendChild(eleLink);
eleLink.click();
// 然后移除
document.body.removeChild(eleLink);
URL.revokeObjectURL(blobUrl);
}
本文向大家介绍为什么会有跨域问题?怎么解决跨域?相关面试题,主要包含被问及为什么会有跨域问题?怎么解决跨域?时的应答技巧和注意事项,需要的朋友参考一下 为啥会有跨域问题 怎么解决跨域呢? 方案一 JSONP:通过script可以跨域的原理,执行服务端的回调函数 方案二 代理:nigix 或者webpack 代理 配置 方案三 CORS :"跨域资源共享",设置'Access-Control-All
本文向大家介绍如何解决css加载字体跨域的问题?相关面试题,主要包含被问及如何解决css加载字体跨域的问题?时的应答技巧和注意事项,需要的朋友参考一下 https://blog.csdn.net/weixin_33953384/article/details/86252975
本文向大家介绍如何用Nginx解决前端跨域问题,包括了如何用Nginx解决前端跨域问题的使用技巧和注意事项,需要的朋友参考一下 前言 在开发静态页面时,类似Vue的应用,我们常会调用一些接口,这些接口极可能是跨域,然后浏览器就会报cross-origin问题不给调。 最简单的解决方法,就是把浏览器设为忽略安全问题,设置--disable-web-security。不过这种方式开发PC页面到还好,如
我正在使用Spring MVC FreeMarker集成。由于我是FreeMarker的新手,我无法从属性文件中找到配置FreeMarker标签的方法。 请帮我解决这个问题。 谢谢。
问题内容: 目的是使产品名称出现在缩略图的工具提示中。浏览器不会根据“ ng-title”或“ ng-attr-title”创建工具提示。 我们正在使用AngularJS 1.0.7版。您可以在任何属性前面加上“ ng-”或“ ng- attr”,Angular会进行相应的绑定。但是,它似乎没有“绑定”到HTML“ A”标签的标题上。 例如 1。 码: 预期结果: 实际结果:工具提示中出现不必要的
本文向大家介绍Spring Boot 中如何解决跨域问题 ?相关面试题,主要包含被问及Spring Boot 中如何解决跨域问题 ?时的应答技巧和注意事项,需要的朋友参考一下 跨域可以在前端通过 JSONP 来解决,但是 JSONP 只可以发送 GET 请求,无法发送其他类型的请求,在 RESTful 风格的应用中,就显得非常鸡肋,因此我们推荐在后端通过 (CORS,Cross-origin re