/**
* 在线图片地址转base64
* @param url
* @returns
*/
async function imageUrlToBase64(url: string): Promise<string> {
return new Promise((resolve, reject) => {
// 创建HTTP请求
const request = http.createHttp();
// 设置请求方法为GET
request.request(url, { method: http.RequestMethod.GET }, (err, data) => {
if (err) {
reject(err);
return;
}
// 处理响应数据(获取ArrayBuffer)
if (data.responseCode === 200 && data.result) {
console.log("imageUrlToBase64", data.result)
const arrayBuffer: ArrayBuffer = data.result as ArrayBuffer;
// ArrayBuffer转Uint8Array
const uint8Array = new Uint8Array(arrayBuffer);
let base64 = "data:image/jpeg;base64," + new util.Base64Helper().encodeToStringSync(uint8Array)
console.log("imageUrlToBase64 base64 data", base64)
resolve(base64);
} else {
reject('请求失败或非图片数据');
}
// 关闭请求
request.destroy();
});
});
}