NHero
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. NHero
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
- Our Appwrite organization is suspended
Please give support regarding this , no app is working now , please solve my issue and give support , no one is replying in message section or email.
- Project in AppWrite Cloud doesn't allow ...
I have a collection where the data can't be opened. When I check the functions, there are three instances of a function still running that can't be deleted. The...
- Get team fail in appwrite function
I try to get team of a user inside appwrite function, but i get this error: `AppwriteException: User (role: guests) missing scope (teams.read)` If i try on cl...