2016-10-03 18 views
0

画像をアップロードしようとしていますが、シークレットとキーのエクスポートでエラーが発生し続けますSyntaxError: Unexpected reserved word。ここに私が試したものですs3 awsにURL画像をアップロード

私はawsの依存関係が必要です。

var AWS = require('aws-sdk'); 
export AWS_ACCESS_KEY_ID='key' 
export AWS_SECRET_ACCESS_KEY='secret' 
AWS.config.region = 'eu-west-1';¨ 

アップロード画像機能

function uploadImage(url, title) { 

    request(url, function (error, response, body) { 
    if (!error && response.statusCode == 200) { 

     var s3Bucket = new AWS.S3({ params: {Bucket: 'bucket'} }) 
     var data = {Key: title + "-" + Math.floor(Date.now()/1000), Body: body}; 
     s3Bucket.putObject(data, function(err, data){ 
     if (err) { 
      console.log('Error uploading data: ', data); 
      } else { 
      console.log('succesfully uploaded the image!'); 
      } 
     }); 

    } 
    }) 


} 

機能

uploadImage("http:/imageUrl", "test"); 
+0

あなたのコードに実際のAWS KEYとAWS SECRETを与えましたか? –

+0

はい実際のawsキー、秘密、バケット名とURL。私はちょうどここに入れたくなかった –

+1

コードの2つの 'export'行はおそらくあなたのNodeJSアプリにコピーされたBashスクリプトコードのようです。そのため、NodeJSコードではないため、これらの行にエラーが発生しています。 –

答えて

0

exportを実行node.js.で環境変数を追加するための正しい方法ではありません

あなたはどちらかのはず

process.env.AWS_ACCESS_KEY_ID='key' 
... 
var AWS = require('aws-sdk'); 

または、最も可能性の高い、

export AWS_ACCESS_KEY_ID='key' 
node server.js 

exportとしてスクリプトに渡すには、予約jsの言葉です。

+0

はうまくいくようですが、どのようにランダムな文字をイメージファイルではなくs3に追加するのでしょうか? –

+0

あなたが 'url'から正しいイメージをダウンロードしたと仮定すると、私はs3が生データをイメージとして認識しないことを示唆しました。あなたの 'data'オブジェクトに' ContentType'キーを適切な値で追加すると役に立ちます。 –

関連する問題