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