SOLVED : how to create download page from private folder with next js 13 App directory?
Unanswered
Britannia Petite posted this in #help-forum
Britannia PetiteOP
SOLVED
import fs from "fs";
import { join } from "path";
export async function GET(
request: Request,
{ params }: { params: { slug: string } }
) {
const slug = params.slug; // 'a', 'b', or 'c'
const data = { nama: slug };
console.log(data);
const uploadDir = join(process.env.ROOT_DIR || process.cwd(), `/uploads/`);
const filePath = join(uploadDir, "18-06-2023", "a.pdf");
var file = await fs.createReadStream(filePath);
var stat = await fs.statSync(filePath);
//var file = await fs.readFileSync(filePath);
console.log(stat);
const res = new Response(file, {
headers: {
"Content-Type": "application/pdf",
"Content-Length": stat.size.toString(),
"Content-Disposition": "attachment; filename=a.pdf",
},
});
return res;
// const fileContents = { id: 8221 };
// return NextResponse.json({ data });
}