feat: use portainer hook instead of pushing image to gitea package repository
This commit is contained in:
22
server/api/files/index.post.ts
Normal file
22
server/api/files/index.post.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { writeFile, mkdir } from "node:fs/promises";
|
||||
import { resolve } from "node:path";
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const parts = await readMultipartFormData(event);
|
||||
if (!parts || parts.length === 0) {
|
||||
throw createError({ statusCode: 400, message: "No file provided" });
|
||||
}
|
||||
|
||||
const filePart = parts.find((p) => p.name === "file");
|
||||
if (!filePart || !filePart.filename) {
|
||||
throw createError({ statusCode: 400, message: "No file provided" });
|
||||
}
|
||||
|
||||
const filename = filePart.filename.replace(/[^a-zA-Z0-9._-]/g, "_");
|
||||
const dir = resolve(process.cwd(), "public/files");
|
||||
|
||||
await mkdir(dir, { recursive: true });
|
||||
await writeFile(resolve(dir, filename), filePart.data);
|
||||
|
||||
return { name: filename, size: filePart.data.length };
|
||||
});
|
||||
Reference in New Issue
Block a user