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 }); } }