node.js - 获取图像 URL 时出现 ECONNRESET 错误
问题描述
当我尝试将相机图像上传到 AWS 存储桶时,将出现以下错误:
camera upload error {"errno":"ECONNRESET","code":"ECONNRESET","syscall":"read"}
{ Error: read ECONNRESET
at TCP.onread (net.js:622:25) errno: 'ECONNRESET', code: 'ECONNRESET', syscall:
'read' }
实际上,图像可以从 Heroku 和我的本地机器上传。当我从生产环境中尝试时,会得到上述错误。以下是我用于将图像上传到 AWS 存储桶的代码:
var request = require("request");
var moment = require('moment-timezone'),
var AWS = require('aws-sdk');
AWS.config.update({
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey
});
var requestretry = require('requestretry');
var s3 = new AWS.S3(),
s3Stream = require('s3-upload-stream')(new AWS.S3());
var date = moment().unix();
var options = {
method: 'GET',
url: image_url
};
var d = Date.now();
var upload = s3Stream.upload({
Bucket: 'twilio-voice-clip/voice',
Key: 'cameraimage' + d + '.jpeg',
ACL: 'public-read',
ContentType: 'image/jpeg'
});
request(options)
.on('response', function (response) {
if (response.statusCode != 200) {
console.log(respDetails);
}
})
.on('error', function (err) {
console.log('camera upload error', JSON.stringify(err));
})
.pipe(upload)
.on('uploaded', function (details) {
console.log(details.Location);
});
解决方案
推荐阅读
- algorithm - 使用 2-3 树来维护列表
- javascript - 用于匹配域名的 JavaScript 正则表达式 (FQDN)
- boost - SOLR FL 和 Boost 参数计算
- javascript - 目录中的安全 Flask 文件夹
- angular - 测试组件加载条 Angular
- javascript - 使用 HTML 中的按钮更改 SVG 圆圈的颜色
- javascript - TypeError:axios.request 不是函数
- javascript - 如何知道何时已使用 jQuery 取消选择元素
- android - 观察另一个 ViewModel 的 ViewModel
- mysql - 是否可以在 Go 中设置 SQL 连接字符串?