如何在multer-S3中为AWS-S3存储桶指定上传目录?

我正在使用express + multer-s3将file upload到AWS S3服务。

使用下面的代码,我能够上传文件到S3 Bucket,但直接在存储桶中。

我希望他们能够上传到存储桶中的文件夹中。

我无法find这样做的select。

这是代码

AWS.config.loadFromPath("path-to-credentials.json"); var s3 = new AWS.S3(); var cloudStorage = multerS3({ s3: s3, bucket: "sample_bucket_name", contentType: multerS3.AUTO_CONTENT_TYPE, metadata: function(request, file, ab_callback) { ab_callback(null, {fieldname: file.fieldname}); }, key: function(request, file, ab_callback) { var newFileName = Date.now() + "-" + file.originalname; ab_callback(null, newFileName); }, }); var upload = multer({ storage: cloudStorage }); router.post("/upload", upload.single('myFeildName'), function(request, response) { var file = request.file; console.log(request.file); response.send("aatman is awesome!"); }); 

S3并不总是有文件夹(见http://docs.aws.amazon.com/AmazonS3/latest/UG/FolderOperations.html )。 它将通过添加由/分隔您的文件名的string来模拟文件夹。

例如

 key: function(request, file, ab_callback) { var newFileName = Date.now() + "-" + file.originalname; var fullPath = 'firstpart/secondpart/'+ newFileName; ab_callback(null, fullPath); },