app/api/vector_stores/upload_file/route.ts (19 lines of code) (raw):
import OpenAI from "openai";
const openai = new OpenAI();
export async function POST(request: Request) {
const { fileObject } = await request.json();
try {
const fileBuffer = Buffer.from(fileObject.content, "base64");
const fileBlob = new Blob([fileBuffer], {
type: "application/octet-stream",
});
const file = await openai.files.create({
file: new File([fileBlob], fileObject.name),
purpose: "assistants",
});
return new Response(JSON.stringify(file), { status: 200 });
} catch (error) {
console.error("Error uploading file:", error);
return new Response("Error uploading file", { status: 500 });
}
}