All checks were successful
deploy to server / build-and-deploy (push) Successful in 5m4s
- 添加/download/documentID路由用于文档下载 - server端添加文档元数据获取与下载API - 将app中的types移至shared,与server共享
23 lines
648 B
TypeScript
23 lines
648 B
TypeScript
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<ArrayBuffer>(file.url, {
|
|
responseType: 'arrayBuffer',
|
|
});
|
|
return new Response(res, {
|
|
headers: {
|
|
'Content-Disposition': `attachment; filename="${encodeURIComponent(file.filename_download)}"`,
|
|
'Content-Type': file.type,
|
|
},
|
|
});
|
|
});
|