使用 busboy 解析 multipart/form-data,添加 preservePath 选项以保留文件路径

This commit is contained in:
2025-12-21 13:48:21 +08:00
parent 8a633feb4f
commit 5e43c5fc4c
5 changed files with 11 additions and 10 deletions

View File

@@ -35,7 +35,7 @@ router.post('/api/s1/resources/upload/chunk', async (req, res) => {
}
// 使用 busboy 解析 multipart/form-data
const busboy = Busboy({ headers: req.headers });
const busboy = Busboy({ headers: req.headers, preservePath: true });
const fields: any = {};
let file: any = null;
let tempPath = '';
@@ -47,7 +47,7 @@ router.post('/api/s1/resources/upload/chunk', async (req, res) => {
busboy.on('file', (fieldname, fileStream, info) => {
const { filename, encoding, mimeType } = info;
tempPath = path.join(cacheFilePath, `${Date.now()}-${Math.random().toString(36).substring(7)}-${filename}`);
tempPath = path.join(cacheFilePath, `${Date.now()}-${Math.random().toString(36).substring(7)}`);
const writeStream = createWriteStream(tempPath);
filePromise = new Promise<void>((resolve, reject) => {