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