2017-12-04 16 views
0

私はaws-sdkとexifライブラリを使ってs3バケットの画像から画像の詳細を取得しています。awif s3の画像をexifとnode.jsで約束します

私は、node.jsのaws s3イメージのバケットのexifイメージの詳細を取得するのに使っています。そのためaws-sdkとexifライブラリを使用して のawsバケットのすべてのデータを取得しましたが、私はそのコードの結果を取得していません。
私は、次のコードを使用しています

app.get('/getContents', function(req,res){ 
    var params = {Bucket: req.query.Bucket}; 

    return new Promise(function(resolve, reject) { 
     s3.listObjects(params, function(err, data) { 
      if (err) { 
       var error = {}; 
       error['isError'] = true, 
       error['status'] = 400, 
       error['message'] = "Data Not Found", 
       error['data'] = err 
       resolve(error); 
      } 
      else { 
       var result1 = []; 
       var result = data.Contents; 
       result.forEach(function(final){ 
        var urlParams = {Bucket: req.query.Bucket, Key: final.Key}; 
        s3.getSignedUrl('getObject', urlParams, function(err, url){ 
         request.get(url, function (err, result, body) { 
          var path = result.request.uri.href; 
          new ExifImage(body, function (error, exifData) { 
           if (error) { 
            result1.push(error.message); 
           } 
           else { 
            result1.push(exifData); 
            res.send(result1); 
           } 
          }); 
         }); 
        }); 
       });  
       //res.send(result1); 
      } 
     }); 
    }); 
}); 

をが、応答はブラウザでnullです。 このコードの詳細ことを見つけることができますどのようにエラーが発生する可能性があなたのコード内のポイントの多くがあります

+0

ためのソリューションです.... githubの問題でその解決策を見つけました、レスポンスが落とされるだけです。エラーを処理するときに 'res'を使ってブラウザと通信していることを確認してください。最後に 'res.send(result1)'行のコメントを外すとどうなりますか? – Will

+0

最後のレスポンスのres.send(result1)行のコメントを外すと、ブラウザにnullが返されます –

答えて

関連する問題