目的
由于chrome会将图片链接自动打开,无法实现下载图片的功能(a标签的download属性只能针对同源的图片),所以想将图片地址转换为文件流,这样浏览器应该会将其下载。
怎么实现呢?
给定这个图片地址,https://cdn.segmentfault.com/v-5f0a9217/global/img/logo-b.svg
,怎么将其转换为文件流并让浏览器下载呢?
由于chrome会将图片链接自动打开,无法实现下载图片的功能(a标签的download属性只能针对同源的图片),所以想将图片地址转换为文件流,这样浏览器应该会将其下载。
给定这个图片地址,https://cdn.segmentfault.com/v-5f0a9217/global/img/logo-b.svg
,怎么将其转换为文件流并让浏览器下载呢?
13 回答12.7k 阅读
8 回答2.5k 阅读
2 回答5k 阅读✓ 已解决
7 回答1.9k 阅读
5 回答1.3k 阅读
3 回答2.2k 阅读✓ 已解决
5 回答796 阅读
纯客户端无法实现。
要么服务端提供
Content-Disposition: Attachment
的方式来支持下载。要么服务端提供跨域支持,你 AJAX 请求下来当 Blob 读,转成 DataURL 或 BlobURL 下载好了。