0
FormDataオブジェクト内にラップされたイメージをノードサーバーに送信する角度2のアプリケーションがあります。ノードサーバーへのFormDataのイメージ
私は、サーバー上の画像を受信して、ファイルに書き込み、それを再ダウンロードすることができます:私が何をしようとしています何
var busboy = new Busboy({ headers: req.headers });
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
if(mimetype == "image/png"){
var saveTo = path.join('/home/ec2-user/bonappetite/tmp', path.basename(filename) + ".png");
} else if(mimetype == "image/jpeg") {
var saveTo = path.join('/home/ec2-user/bonappetite/tmp', path.basename(filename) + ".jpg");
} else {
var saveTo = path.join('/home/ec2-user/bonappetite/tmp', path.basename(filename));
}
file.pipe(fs.createWriteStream(saveTo));
});
busboy.on('finish', function() {
console.log("url retrieved");
res.writeHead(200, { 'Connection': 'close' });
res.end(savedUrl);
});
return req.pipe(busboy);
はいるFormData内の画像を取得し、私のS3バケットにアップロードしています。私は、データを自分でアップロードすることが、私は、私はちょうど私のサーバにアップロードし、S3にそれをストリーミングしているファイルを取ることができますどのように私はポスト要求
var AWS = require('aws-sdk');
AWS.config.loadFromPath('./aws_config.json');
var s3Bucket = new AWS.S3({ params: {Bucket: 'xxxx'} });
params = {Key: filename, Body: file};
s3Bucket.putObject(params, function(err, data) {
if (err) {
console.log(err)
} else {
var urlParams = {Bucket: 'xxxx', Key: filename};
s3Bucket.getSignedUrl('getObject', urlParams, function(err, url){
if(err){
console.log(err);
res.status(err.status || 500);
res.send(error);
}else {
res.setHeader('Content-Type', 'application/json');
url = url;
res.send({"url":url});
}
})
}
});
から保存した画像をアップロードするように見えるカント?
s3に送信する前にファイルをディスクに保存する必要がありますか?
ありがとうございました