پاسخ داده شد
چطور یک فایل را روی سرور آپلود کرده و در یک فولدر معین با نام دلخواهمان ذخیره کنیم؟
nestjs how to upload file nestjs upload file with multer save with original name multer original filename multer upload file using nestjs and multer
- نفیسه افقی 1 سال قبل سوال کرد
- شما باید برای ارسال دیدگاه وارد شوید
پاسخ عالی
برای آموزش کامل آپلود فایل با multer این پست را ببینید.
multer بطور پیشفرض فایل را با نامی دیگر و بدون پسوند (extension) ذخیره می کند. برای اینکه پوشه آپلود و نام فایل را خودتان تعیین کنید، می توانید از کد زیر استفاده کنید ( در اینجا ما فایل را با پسوند خودش و با یک نام تصادفی ذخیره می کنیم):
import { ... , UseInterceptors, FileInterceptor, UploadedFile } from '@nestjs/common'
import { diskStorage } from 'multer'
import { extname } from 'path'
...
@UseInterceptors(FileInterceptor('file', {
storage: diskStorage({
destination: './uploads'
, filename: (req, file, cb) => {
// Generating a 32 random chars long string
const randomName = Array(32).fill(null).map(() => (Math.round(Math.random() * 16)).toString(16)).join('')
//Calling the callback passing the random name generated with the original extension name
cb(null, `${randomName}${extname(file.originalname)}`)
}
})
}))
async upload( @UploadedFile() file) {
console.log(file)
}
- نفیسه افقی 1 سال قبل پاسخ داد
- شما باید برای ارسال دیدگاه وارد شوید
پاسخ شما