[英]Javascript: Get Base64 string from an image URL
假设我只有图片的URL,并且我想从跨域脚本中获取图片的BAse64字符串值,而不使用DOM或Canvas或jQuery。 这可能吗?...仅使用纯Javascript?
如果图像是跨域资源,则除非服务器使用适当的CORS标头提供图像,否则您将无法读取该图像。 浏览器从不允许脚本读取跨域资源的内容(这是跨域策略的核心),除非跨域服务器通过CORS明确允许这样做。
假设您确实有一个带有适当CORS标头的图像(或者只是一个同源图像),则可以将其作为Blob
获取(使用responseType
)并将其作为文件读取以获取base64编码的data:
URL:
var xhr = new XMLHttpRequest()
xhr.open("GET", "myimg.png");
xhr.responseType = "blob";
xhr.send();
xhr.addEventListener("load", function() {
var reader = new FileReader();
reader.readAsDataURL(xhr.response);
reader.addEventListener("loadend", function() {
console.log(reader.result);
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.