ts 图片转base64
时间: 2023-09-12 17:04:53 浏览: 174
以下是 TypeScript 中将图片转换为 Base64 的示例代码:
```typescript
function convertImageToBase64(url: string, callback: (result: string | null) => void) {
const canvas = document.createElement('canvas');
const img = new Image();
img.crossOrigin = 'Anonymous';
img.onload = function() {
canvas.width = img.width;
canvas.height = img.height;
const context = canvas.getContext('2d');
context?.drawImage(img, 0, 0);
const dataUrl = canvas.toDataURL('image/png');
const base64 = dataUrl.split(',')[1];
callback(base64);
};
img.onerror = function(error) {
console.error('The image cannot be loaded.');
callback(null);
};
img.src = url;
}
// Example usage:
convertImageToBase64('https://example.com/image.png', function(result) {
console.log(result);
});
```
该函数接收一个图片 URL 和一个回调函数作为参数,并将图片转换为 Base64 编码后,通过回调函数返回结果。在函数内部,我们创建一个 `canvas` 和一个 `img` 元素,并设置图片的 `crossOrigin` 属性为 `Anonymous`,以便在跨域时能够访问图片。在图片加载完成后,我们将图片绘制到 `canvas` 上,并使用 `toDataURL` 方法将 `canvas` 转换为 Base64 编码的字符串,最后调用回调函数返回结果。如果图片加载失败,则回调函数返回 `null`。
阅读全文