node.js - 有没有办法使用 node.js 从 url 上传到 S3?

标签 node.js amazon-s3 upload knox-amazon-s3-client

我发现了这个问题,但它似乎没有回答我的问题,因为我认为它仍在谈论本地文件。

我想拿,说,和imgur.com使用 Node 链接并上传到 S3。是knox能够做到这一点还是我需要使用其他东西?

不确定从哪里开始。

最佳答案

我没有使用 knox但官方AWS SDK for JavaScript in Node.js .我向带有 {encoding: null} 的 URL 发出请求,以便检索缓冲区中的数据,这些数据可以直接传递给 s3 的 Body 参数。 putObject()。下面是将远程图像放入桶中的示例 aws-sdkrequest .

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!');
});

关于node.js - 有没有办法使用 node.js 从 url 上传到 S3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16803293/

相关文章:

javascript - 了解 Express Node.js 中的虚拟主机

python - 尝试使用 Flask 上传文件以在 AWS S3 上处理时不允许使用 405 方法

amazon-web-services - AWS EMR 在加速端点配置上引发异常

java - Android 上传图像到 ftp 服务器不起作用

php - 使用 AngularJS 和 PHP 将图像上传到服务器路径

node.js - 是否可以使用 bot 框架 v4 获取 Microsoft-Teams 内的 PowerBI 报告屏幕截图或报告?

node.js - 在发布到我们的消息端点时如何抑制和/或增加 15 秒超时消息? -- Node Js

javascript - 错误 : `useFindAndModify` is an invalid option

amazon-web-services - 如何为 S3 触发的 AWS Lambda 函数指定附加参数

android - 在后台将Android设备中的数据发送到服务器,对用户的影响最小