I want to get the file from an api route, but how do i send the file from api route, as its an array buffer and i cant send it using NextResponse.json()
I haven't worked with files, this is my first time
TL;DR
There is a misconception here. You should not send the file in the JSON response since it's an array buffer. Instead of using `NextResponse.json()`, you can use `NextResponse.buffer()` to return the file content. This way, the users can download the file when they access your API route.My API Route Code
TypeScript
import { SESSION_COOKIE } from "@/const";
import { db, noteAttachmentBucket, noteCollection } from "@/models/name";
import { createSessionClient } from "@/models/server/config";
import { NextRequest, NextResponse } from "next/server";
export async function GET(req: NextRequest) {
try {
const note_id = req.nextUrl.searchParams.get("note_id")
if (!note_id) {
return NextResponse.json({
success: false,
error: "Note ID is required"
}, { status: 400 })
}
const session = req.cookies.get(SESSION_COOKIE)
if (!session || !session.value) {
return NextResponse.json({
success: false,
error: "Unauthorized"
}, { status: 401 })
}
const { databases, storage } = await createSessionClient(session)
const note = await databases.getDocument(db, noteCollection, note_id)
if (!note) {
return NextResponse.json({
success: false,
error: "Note not found"
}, { status: 404 })
}
const viewFile = await storage.getFileView(noteAttachmentBucket, note.file_id)
return NextResponse.json({
success: true,
noteData: {
title: note.title,
description: note.description,
subject: note.subject,
tags: note.tags,
}
})
}
catch (err) {
return NextResponse.json({
success: false,
error: "Internal server error"
}, { status: 500 })
}
}
Recommended threads
- Android SDK: Kotlin null Value Not Updat...
Hi team, I think you should check the Android SDK implementation once, as it seems to have an issue handling Kotlin **null** values. For example: When I send:...
- Can't connect GitHub — 500 error at the ...
Appwrite Cloud, Pro plan, SFO region. All my Git connections vanished today — Sites and all 15 Functions now show no repository connected. When I try to add a ...
- GB Hours IS NOT resetting
Hi, I was checking my usage and noticed that all of my usage quotas were reset on August 20, 2026, when my billing cycle renewed. Everything else appears to ha...