Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 如何使用nestjs从s3下载文件?_Amazon S3_Nestjs - Fatal编程技术网

Amazon s3 如何使用nestjs从s3下载文件?

Amazon s3 如何使用nestjs从s3下载文件?,amazon-s3,nestjs,Amazon S3,Nestjs,如何使用nestjs从s3下载文件? 我使用multer将文件上传到s3。 有没有办法用nestjs从s3下载? 如果我使用multer或其他方法,我可以这样做吗? 在nestjs文档中,他们没有任何关于下载文件的信息 import { Req, Res, Injectable } from '@nestjs/common'; import * as multer from 'multer'; import * as AWS from 'aws-sdk'; import * as multerS

如何使用nestjs从s3下载文件? 我使用multer将文件上传到s3。 有没有办法用nestjs从s3下载? 如果我使用multer或其他方法,我可以这样做吗? 在nestjs文档中,他们没有任何关于下载文件的信息

import { Req, Res, Injectable } from '@nestjs/common';
import * as multer from 'multer';
import * as AWS from 'aws-sdk';
import * as multerS3 from 'multer-s3';
const AWS_S3_BUCKET_NAME = 'nestjs-s3';
const s3 = new AWS.S3();
AWS.config.update({
  accessKeyId: ,
  secretAccessKey: ,
});
@Injectable()
export class ImageUploadService {
  constructor() {}
  async fileUpload(@Req() req, @Res() res) {
    try {
      this.s3upload(req, res, function (error) {
        if (error) {
          console.log(error);
          return res.status(404).json(`Failed to upload image file: ${error}`);
        }
        return res.status(201).json(req.files[0].location);
      });
    } catch (error) {
      console.log(error);
      return res.status(500).json(`Failed to upload  file: ${error}`);
    }
  }
  s3upload = multer({
    storage: multerS3({
      s3: s3,
      bucket: AWS_S3_BUCKET_NAME,
      acl: 'public-read',
      key: function (request, file, cb) {
        console.log(file);
        cb(null, `${Date.now().toLocaleString()} -- ${file.originalname}`);
      },
    }),
  }).array('upload', 1);

  s3download = multer({
    storage: multerS3({
      s3: s3,
      bucket: AWS_S3_BUCKET_NAME,
      acl: 'public-read',
      contentDisposition: 'attachment',
      key: function (request, file, cb) {
        console.log(file);
        cb(null, `${Date.now().toLocaleString()} -- ${file.originalname}`);
      },
    }),
  }).array('upload', 1);