ChatGPT-Next-Web/app/api/langchain-tools/dalle_image_generator_node.ts
2024-01-05 19:29:14 +08:00

23 lines
792 B
TypeScript

import { getServerSideConfig } from "@/app/config/server";
import { DallEAPIWrapper } from "./dalle_image_generator";
import S3FileStorage from "@/app/utils/s3_file_storage";
import LocalFileStorage from "@/app/utils/local_file_storage";
export class DallEAPINodeWrapper extends DallEAPIWrapper {
async saveImageFromUrl(url: string) {
const response = await fetch(url);
const content = await response.arrayBuffer();
const buffer = Buffer.from(content);
var filePath = "";
const serverConfig = getServerSideConfig();
var fileName = `${Date.now()}.png`;
if (serverConfig.isStoreFileToLocal) {
filePath = await LocalFileStorage.put(fileName, buffer);
} else {
filePath = await S3FileStorage.put(fileName, buffer);
}
return filePath;
}
}