import axios from 'axios'; import { addLog } from '../../system/log'; import { serverRequestBaseUrl } from '../../api/serverRequest'; import { getFileContentTypeFromHeader, guessBase64ImageType } from '../utils'; export const getImageBase64 = async (url: string) => { addLog.debug(`Load image to base64: ${url}`); try { const response = await axios.get(url, { baseURL: serverRequestBaseUrl, responseType: 'arraybuffer', proxy: false }); const base64 = Buffer.from(response.data, 'binary').toString('base64'); const imageType = getFileContentTypeFromHeader(response.headers['content-type']) || guessBase64ImageType(base64); return `data:${imageType};base64,${base64}`; } catch (error) { addLog.debug(`Load image to base64 failed: ${url}`); console.log(error); return Promise.reject(error); } };