使用Node.js将文件上传到AWS S3

时间:2018-08-10 14:18:06

标签: node.js amazon-web-services amazon-s3

我目前正在使用AWS S3,并尝试上传文件。我遍历了许多教程,到处都可以找到类似于以下内容的代码:

const AWS = require('aws-sdk');
const Busboy = require('busboy');
const BUCKET_NAME = '';
const IAM_USER_KEY = '';
const IAM_USER_SECRET = '';
function uploadToS3(file) {
 let s3bucket = new AWS.S3({
   accessKeyId: IAM_USER_KEY,
   secretAccessKey: IAM_USER_SECRET,
   Bucket: BUCKET_NAME,
 });
 s3bucket.createBucket(function () {
   var params = {
    Bucket: BUCKET_NAME,
    Key: file.name,
    Body: file.data,
   };
   s3bucket.upload(params, function (err, data) {
    if (err) {
     console.log('error in callback');
     console.log(err);
    }
    console.log('success');
    console.log(data);
   });
 });
}

我认为这段代码很少存在问题。 1)如果我已经创建了bucket,该如何简单地将文件上传到该存储桶。我找不到任何按名称返回bucket的方法。 我不想使用putObject方法,因为它有一些局限性,例如您需要指定内容长度等。

2)另外,如果我对上传的文件类型有一些限制,比如说只允许小于5Mb的pdf文件,那我该如何实现?

0 个答案:

没有答案