2016-07-18 9 views
1

イメージのURLを使用して既存のイメージをAWS S3にアップロードするにはどうすればよいですか(Node.jsのAWS SDKを使用しています)? Parseから画像を移行しようとしていますが、ParseのURLにアクセスできます。画像URLを使用してAWS S3に画像をアップロードするにはどうすればよいですか?

let params = { 
    Key: 'sampleurl.png', 
    Bucket: Config.get('server.s3.bucket'), 
    Body: ???, // ? 
    ACL: 'public-read' 
}; 

s3Client.upload(params, (err, data) => { 
    if (err) { throw err; } 

    return data.Location; 
}); 

私は、例えば、AWSへの「http://files.parsetfss.com/something/something.png」での画像をアップロードし直すだろうか:私はこのような設定に何かのですか?私はURLからS3に画像をアップロードするために、鋭い使用してい

+0

は「files.parse.com」はまだしかし、あなたのこの移行を行っていませんこのプロジェクトをチェックすることができます:https://github.com/parse-server-modules/parse-files-utilsレポートを使用して、IMOだけでマスターまたはAPIキーを使わずにhttpのURL(http GET)にアクセスできます。したがって、リンクされたプロジェクトのレポートの公開URLを使用して、S3への移行をスクリプト化することができます –

+0

まず画像をダウンロードし、S3にアップロードすることを検討してください。この投稿は、最初の部分に関するヒントを与えることができたようです:http://stackoverflow.com/questions/12740659/downloading-images-with-node-js – Conti

答えて

1

sharp(fileUrl).toBuffer(function(err, outputBuffer) { 
    if (err) { 
    reject(err); 
    } 

    s3client.upload({ 
    ACL:'public-read', 
    Body: outputBuffer 
    }, function(err, result) { 
    if (err) { 
     reject(err); 
    } 

    resolve(result.Location); 

    }); 

}); 

はたぶん、あなたを助ける;)

+0

この回答は私にとってはうまくいかず、ファイルが見つからないか、サポートされていないイメージフォーマットです "エラーが発生しましたが、ノードのリクエストモジュールを使用した次の回答が最初に試行されました - https://stackoverflow.com/q/22186979/907388 – pbojinov

関連する問題