我目前正在使用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文件,那我该如何实现?