【发布时间】:2021-04-29 15:40:03
【问题描述】:
我使用multer管理上传的文件:
@Post('upload') @UseInterceptors(FilesInterceptor("images", 10, {
dest: "./uploads",
}))
uploadMultiple(@UploadedFiles() files) {
console.log(files, 'test');
}
我尝试为我上传的文件添加文件扩展名:
@Post('upload') @UseInterceptors(FilesInterceptor("images", 10, {
dest: "./uploads",
filename: function (req, file, cb) {
cb(null, Date.now() + '.jpg') //Appending .jpg
}
}))
但是当我这样做时,我得到一个错误:
TS2345: Argument of type '{ dest: string; filename: (req: any, file: any, cb: any) => void; }' is not assignable to parameter of type 'MulterOptions'. Object literal may only specify known properties, and 'filename' does not exist in type 'MulterOptions'
如何为我上传的文件指定文件扩展名?
【问题讨论】:
-
docs.nestjs.com/techniques/file-upload 表示拦截器接受github.com/expressjs/multer#multeropts 中定义的选项,实际上没有
filename属性。该属性用于DiskStorage,大概您可以将其传递为storage:github.com/expressjs/multer#diskstorage。