mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 13:03:50 +00:00

* feat: think tag parse * feat: parse think tag test * feat: pdf parse ux * feat: doc2x parse * perf: rewrite training mode setting * feat: image parse queue * perf: image index * feat: image parse process * feat: add init sh * fix: ts
28 lines
868 B
TypeScript
28 lines
868 B
TypeScript
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);
|
|
}
|
|
};
|