import { getFileMeta } from '../../utils/file'; export default defineEventHandler(async (event) => { const id = getRouterParam(event, 'id'); if (!id) { throw createError({ statusCode: 400, message: '缺少文件ID' }); } const file = await getFileMeta(id); if (!file) { throw createError({ statusCode: 404, message: '文件不存在' }); } const res = await $fetch(file.url, { responseType: 'arrayBuffer', }); return new Response(res, { headers: { 'Content-Disposition': `attachment; filename="${encodeURIComponent(file.filename_download)}"`, 'Content-Type': file.type, }, }); });