File size: 790 Bytes
0b5c6fd adf1923 0b5c6fd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import { NextRequest, NextResponse } from "next/server";
import { ListObjectsCommand, PutObjectCommand } from "@aws-sdk/client-s3";
import { s3 } from "@/lib/s3";
const Bucket = process.env.AWS_BUCKET_NAME;
export async function GET() {
const response = await s3.send(new ListObjectsCommand({ Bucket }));
return NextResponse.json(response?.Contents ?? []);
}
export async function POST(request: NextRequest) {
try {
const formData = await request.formData();
const file = formData.get("image") as File;
const Body = (await file.arrayBuffer()) as Buffer;
await s3.send(new PutObjectCommand({ Bucket, Key: file.name, Body }));
return NextResponse.json({
key: process.env.AWS_S3_URL + file.name,
});
} catch (e) {
console.error("error", e);
}
}
|