پاسخ داده شد
0
0

چطور یک فایل را روی سرور آپلود کرده و در یک فولدر معین با نام دلخواهمان ذخیره کنیم؟

  • شما باید برای ارسال دیدگاه شوید
پاسخ عالی
0
0

برای آموزش کامل آپلود فایل با 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 نتیجه
پاسخ شما
اگر قبلاً حساب کاربری دارید با پر کردن فیلد های زیر یا به عنوان مهمان ارسال کنید.
نام*
ایمیل*
وب سایت