Сохранение файлов в файловой системе в Nestjs - PullRequest
0 голосов
/ 26 апреля 2020

Я хочу сохранить URL изображений, отправленных клиентом с помощью multipart/form-data, в моей базе данных MySQL. Я следовал за документами, но не могу выяснить, как мне сохранить изображение в файловой системе сервера и вернуть URL-адрес клиенту.

Это мой код:

@ApiTags('product-image')
@Controller('product-image')
export class ProductImageController {
  constructor(public service: ProductImageService) {
  }

  @Post('upload')
  @UseInterceptors(FilesInterceptor('files'))
  uploadImage(@UploadedFiles() files) {
    console.log(files);
    // How can I save image files in
    // a custom path and return the path
    // back to the client?

  }
}

1 Ответ

1 голос
/ 26 апреля 2020

попробуйте

import { FilesInterceptor } from '@nestjs/platform-express';
import { diskStorage } from 'multer';

@Post('upload')
    @UseInterceptors(
        FilesInterceptor('files', 20, {
          storage: diskStorage({
            destination: './uploads/',
            filename: editFileName,
          }),
        //   fileFilter: imageFileFilter,
        }),
      )
      uploadMultipleFiles(@UploadedFiles() files) {
        const response = [];
        files.forEach(file => {
          const fileReponse = {
            filename: file.filename,
          };
          response.push(fileReponse);
        });
        return response;
      }
...