2017-07-12 7 views
0

画像処理を実行しようとしているノードスクリプトがあり、結果をS3に保存しようとしています。スクリプトはうまくいくようですが、実行すると結果はs3の空のファイルになります。私は結果画像、ソース画像などを使用してみましたが、もしそれが画像であるかどうかを見てみてください...私はBase64エンコーディングを試して、画像ファイルを渡しました。問題が何であるかは分かりません。ノード内のラムダ関数からローカルイメージをS3に保存するには

   var base_image_url = '/tmp/inputFile.jpg'; 
       var change_image_url = './images/frame.png'; 
       var output_file = '/tmp/outputFile.jpg'; 

       var params = { 
           Bucket: 'imagemagicimages', 
           Key: 'image_'+num+'.jpg', 
           ACL: "public-read", 
           ContentType: 'image/jpeg', 
           Body: change_image_url 
          } 
          s3.putObject(params, function (err, data) { 
           if (err) 
           { 
            console.log(err, err.stack); 
           } // an error occurred 
           else 
           { 
            callback("it"); 
            console.log(data); 
           } 
          }); 

答えて

0

それは、この行のように見える...

Body: change_image_url 

...ファイルに文字列'./images/frame.png'を保存しています。文字列ではなくS3に画像データを送る必要があります。あなたはイメージ操作をしていると言いますが、そのためのコードはありません。操作してイメージを作成する場合は、イメージデータをバッファのどこかに置く必要があります。これがあなたがS3に送るべきものです。

関連する問題