如何将图像从 url typescript 转换为 base64 并将其存储在字符串中
How to convert a image to base64 from a url typescript and store it in a string
我正在使用 pdfmake,我想在 de pdf 中添加我的公司徽标。
getDocumentDefinition() {
sessionStorage.setItem('resume', 'name');
return {
content: [
{
text: 'RESUME',
bold: true,
fontSize: 20,
alignment: 'center',
margin: [0, 0, 0, 20]
},
{
image: getBase64FromUrl('https://localhost:44344/assets/images/logo.png'),
width: 100,
height: 100,
alignment: 'left'
},
}
};
这是我想在打字稿中使用的功能我尝试了很多不同的方法来从 url 创建 base64 stream/string 但不是对我有用的解决方案。我尝试过的解决方案页面是空白的。如何让它适用于 pdfmake。谢谢你的帮助。
function getBase64FromUrl(url) : string {
//Do some magic
//Return result
}
我在网上找到了这个解决方案,它对我有用。
getBase64FromUrl(url) {
return new Promise((resolve, reject) => {
var img = new Image();
img.setAttribute("crossOrigin", "anonymous");
img.onload = () => {
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL("image/png");
resolve(dataURL);
};
img.onerror = error => {
reject(error);
};
img.src = url;
});
}
我正在使用 pdfmake,我想在 de pdf 中添加我的公司徽标。
getDocumentDefinition() {
sessionStorage.setItem('resume', 'name');
return {
content: [
{
text: 'RESUME',
bold: true,
fontSize: 20,
alignment: 'center',
margin: [0, 0, 0, 20]
},
{
image: getBase64FromUrl('https://localhost:44344/assets/images/logo.png'),
width: 100,
height: 100,
alignment: 'left'
},
}
};
这是我想在打字稿中使用的功能我尝试了很多不同的方法来从 url 创建 base64 stream/string 但不是对我有用的解决方案。我尝试过的解决方案页面是空白的。如何让它适用于 pdfmake。谢谢你的帮助。
function getBase64FromUrl(url) : string {
//Do some magic
//Return result
}
我在网上找到了这个解决方案,它对我有用。
getBase64FromUrl(url) {
return new Promise((resolve, reject) => {
var img = new Image();
img.setAttribute("crossOrigin", "anonymous");
img.onload = () => {
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL("image/png");
resolve(dataURL);
};
img.onerror = error => {
reject(error);
};
img.src = url;
});
}