Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将图像从URL保存到node.js中的S3_Node.js_Express_Amazon S3_Sails.js - Fatal编程技术网

将图像从URL保存到node.js中的S3

将图像从URL保存到node.js中的S3,node.js,express,amazon-s3,sails.js,Node.js,Express,Amazon S3,Sails.js,我想能够保存从URL到S3的图像。通过使用以下代码()允许用户上传个人资料图片,我也可以做类似的事情: 我是否可以修改此代码,以便从URL/链接保存图像 我一直在尝试做类似的事情,但我不知道该怎么做 var request = require('request'); function(person, next) { request({ url:person.image, encoding:null }, function(err,

我想能够保存从URL到S3的图像。通过使用以下代码()允许用户上传个人资料图片,我也可以做类似的事情:

我是否可以修改此代码,以便从URL/链接保存图像

我一直在尝试做类似的事情,但我不知道该怎么做

var request = require('request');
function(person, next) {

      request({
          url:person.image,
          encoding:null
      }, function(err, res, reqBody) {
          if (err) {
              console.log(err);
          } else {
              console.log(reqBody);
              console.log(res);
          }
      reqBody.upload({
       adapter: require('skipper-s3'),
       key:'xxxxxxxxxxxx',
       secret:'xxxxxxxxxx',
       region: "xxxxxx",
       bucket: 'xxxxxxx',
       headers: {
        ACL: 'public-read'
      },
        saveAs: "user-images/"+person.id+".jpeg"
      }, function whenDone(err, uploadedFiles) {
            if(err) {
                return next(err);
            } else {
                person.image = "https:........";
                return next(null, person);
            }
        });
    });

  },

不可能。你必须自己下载文件,然后上传


只有一种方法可以说服S3为您获取一个文件并将其写入bucket,那就是当文件已经在S3中时。S3可以通过从。。。它本身但是它不会代表你去获取任何东西。

也得到了类似的任务。如果您将解决方案代码作为示例共享,我们将非常高兴。
var request = require('request');
function(person, next) {

      request({
          url:person.image,
          encoding:null
      }, function(err, res, reqBody) {
          if (err) {
              console.log(err);
          } else {
              console.log(reqBody);
              console.log(res);
          }
      reqBody.upload({
       adapter: require('skipper-s3'),
       key:'xxxxxxxxxxxx',
       secret:'xxxxxxxxxx',
       region: "xxxxxx",
       bucket: 'xxxxxxx',
       headers: {
        ACL: 'public-read'
      },
        saveAs: "user-images/"+person.id+".jpeg"
      }, function whenDone(err, uploadedFiles) {
            if(err) {
                return next(err);
            } else {
                person.image = "https:........";
                return next(null, person);
            }
        });
    });

  },