1
我只使用了koa-bodyparser,我發現它不允許上傳文件的解析器表單數據。所以我正在嘗試這些模塊co-busboy,koa-body,koa-better-body。但我不知道如何在保存之前重命名上傳文件。因爲我從來沒有做過這個,所以我想知道如何去做。有任何想法嗎?有沒有辦法用koa重命名上傳圖像?
我只使用了koa-bodyparser,我發現它不允許上傳文件的解析器表單數據。所以我正在嘗試這些模塊co-busboy,koa-body,koa-better-body。但我不知道如何在保存之前重命名上傳文件。因爲我從來沒有做過這個,所以我想知道如何去做。有任何想法嗎?有沒有辦法用koa重命名上傳圖像?
這取決於重命名文件的範圍。
如果你想重命名文件的唯一性,那麼大多數庫會爲你處理,所以你不必做任何事情。
如果你想給它一個自定義名稱,你不能在上傳之前做到這一點,但你可以輕鬆地做到這一點。
下面是使用koa-body
// use this as first middleware
app.use(require('koa-body')({
formidable: {
uploadDir: __dirname + '/public/uploads', // upload directory
keepExtensions: true // keep file extensions
},
multipart: true,
urlencoded: true,
}));
然後在你的路線工作示例
router.post('/upload-file', async function (ctx, next) {
// file_param is the request parameter name
let filePath = ctx.request.body.files.file_param.path
// rename file
fs.renameSync(filePath , '/path/to/your_new_file');
})