将图像从URL保存到node.js中的S3
我想能够保存从URL到S3的图像。通过使用以下代码()允许用户上传个人资料图片,我也可以做类似的事情: 我是否可以修改此代码,以便从URL/链接保存图像 我一直在尝试做类似的事情,但我不知道该怎么做将图像从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,
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);
}
});
});
},