js 本地图片转base64,不使用Input
时间: 2024-01-31 14:02:47 浏览: 79
以下是将本地图片转换为Base64的JavaScript代码示例,不需要使用 `input` 元素:
```javascript
function getBase64FromUrl(url, callback) {
var xhr = new XMLHttpRequest();
xhr.onload = function() {
var reader = new FileReader();
reader.onloadend = function() {
var base64 = reader.result.replace(/^data:(.*;base64,)?/, "");
if (typeof callback === "function") {
callback(base64);
}
};
reader.readAsDataURL(xhr.response);
};
xhr.open("GET", url);
xhr.responseType = "blob";
xhr.send();
}
// 使用方法
var imageUrl = "yourImage.jpg";
getBase64FromUrl(imageUrl, function(base64) {
console.log(base64);
});
```
在这个示例中,我们创建了一个名为 `getBase64FromUrl` 的函数,它接受一个图片URL和一个回调函数作为输入参数。该函数使用 `XMLHttpRequest` 对象将图片作为 `blob` 对象请求,并使用 `FileReader` 对象将 `blob` 对象读取为Base64字符串,并从结果中删除前缀。如果回调函数被提供,它将返回Base64字符串。
在使用示例中,我们传递图片URL给 `getBase64FromUrl` 函数。在回调函数中,我们将Base64字符串输出到控制台。
阅读全文