我正在尝试压缩照片并动态上传到s3bucket
并得到此错误
错误:连接ETIMEDOUT
我正在根据数据压缩图像从mongodb获取数据(listingid,.....),并在上传图像时出错,并上传到Amazon s3bucket。
每个Listingid都有25张以上的照片
如果我上传400到500张图像,则可以正常工作,如果我上传500张以上,则会引发此错误
(错误:连接ETIMEDOUT 13.249.226.146:443 在Object._errnoException(util.js:1022:11) 在_exceptionWithHostPort(util.js:1044:20) 在TCPConnectWrap.afterConnect上[作为oncomplete](net.js:1198:14))
我的文件名是imagecompress.js 试过这个 节点--max-old-space-size = 60000 imagecompress.js
MongoClient.connect("url", function(err, db) {console.log(err);
const cb = (err) => { if(err) console.error(err); }
db.collection('abc').aggregate([{ $match: {}},{ $group: {_id: {}}}],function(e,s){
var rs=JSON.parse(JSON.stringify(s));
var result = rs.slice(0,10); // workin fine
var result = rs.slice(0,100); // throws an error
for(i=0;i<result.length;i++){
put_from_url(......, function(err, res) {
if (err)
throw err;
console.log(JSON.stringify(res));
console.log('Uploaded data successfully!');
});
}
})
function put_from_url(url, .., .., ..,callback) {
console.log(key)
request({
url: url,
encoding: null
}, function(err, res, body) {
if (err)
return callback(err, res);
});
}
s3.putObject({
Bucket: bucket,
Key: '../'+..+'/'+..,
ContentType : 'image/jpeg',
ContentLength: res.headers['content-length'],
Body: body // buffer
}, callback);
})
}