var fileStream = fs.createReadStream(file.file[0].path);
var fileName = randomInteger+'_'+file.file[0].originalFilename;
fileStream.on('error', function (err) {
if (err) {
console.log(err);
reject(err);
}
});
fileStream.on('open', function () {
var s3 = new AWS.S3();
s3.putObject({
Bucket: bucketName,
Key: fileName,
Body: fileStream,
}, function (err, data) {
if (err) {
console.log(err);
reject(err);
}else{
var uploadUrl = "https://s3-eu-west-1.amazonaws.com/" + bucketName+ "/" + fileName;
resolve(uploadUrl);
}
});
});
我尝试将文件上传到s3存储桶,但它会引发请求超时错误 如果我上传第2次第3次上传工作没有任何错误
,则会在第一次上传时出现错误答案 0 :(得分:0)
得到答案!!!
这可能是因为S3客户端正在请求错误的端点区域。在第一次失败尝试(默认为us-east-1)之后,S3客户端将使用正确的区域更新其端点,以便以下重试成功。您可以尝试在S3构造函数中设置存储区域。如果存储桶位于eu-west-1中,则可以构造如下:var s3 = new AWS.S3({region:' eu-west-1'})