13

私はこの質問を見つけましたが、まだローカルファイルについて話していると思うので、私の質問には答えていないようです。

たとえば、imgur.comリンクを取得し、ノードを使用して S3 にアップロードします。knoxはこれに対応していますか、それとも何か他のものを使用する必要がありますか?

どこから始めればよいかわからない。

4

5 に答える 5

32

私はknoxを使用していませんが、公式のAWS SDK for JavaScript in Node.js を使用しています。のパラメーターに{encoding: null}直接渡すことができるバッファー内のデータを取得するために、URL に要求を発行します。以下はaws-sdkrequestでリモート イメージをバケットに入れる例です。Bodys3.putObject()

var AWS = require('aws-sdk');
var request = require('request');

AWS.config.loadFromPath('./config.json');
var s3 = new AWS.S3();

function put_from_url(url, bucket, key, callback) {
    request({
        url: url,
        encoding: null
    }, function(err, res, body) {
        if (err)
            return callback(err, res);

        s3.putObject({
            Bucket: bucket,
            Key: key,
            ContentType: res.headers['content-type'],
            ContentLength: res.headers['content-length'],
            Body: body // buffer
        }, callback);
    })
}

put_from_url('http://a0.awsstatic.com/main/images/logos/aws_logo.png', 'your_bucket', 'media/aws_logo.png', function(err, res) {
    if (err)
        throw err;

    console.log('Uploaded data successfully!');
});
于 2014-08-29T08:45:49.037 に答える