首页 > 解决方案 > 获取图像 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);
 });

标签: node.jsamazon-s3requesthttp-post

解决方案


推荐阅读