From a1632ae402d11fdd7ffc360de97c55e0b4fad677 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 28 Feb 2026 14:14:30 -0800 Subject: migrate to hono --- lib/upload.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'lib/upload.ts') diff --git a/lib/upload.ts b/lib/upload.ts index 2ed5d905..900d49dd 100644 --- a/lib/upload.ts +++ b/lib/upload.ts @@ -5,14 +5,15 @@ import { bail, fail } from "$lib/utils"; import { fileTypeFromBuffer } from "file-type"; import sharp from "sharp"; -export default async (req, res) => { +export default async (c) => { try { - const { - params: { type }, - } = req; + const type = c.req.param("type"); - const data = await req.file(); - let buf = await data.toBuffer(); + const body = await c.req.parseBody(); + const file = body.file || Object.values(body).find((v) => v instanceof File); + if (!file) fail("no file uploaded"); + + let buf = Buffer.from(await (file as File).arrayBuffer()); const [format, ext] = (await fileTypeFromBuffer(buf)).mime.split("/"); @@ -26,9 +27,9 @@ export default async (req, res) => { const filePath = `/home/bun/app/data/uploads/${hash}.webp`; writeFileSync(filePath, buf); - res.send({ hash }); + return c.json({ hash }); } catch (e) { err("problem uploading", e.message); - bail(res, e.message); + return bail(c, e.message); } }; -- cgit v1.2.3