[英]reading and writing to s3 node js
我有一个问题,但我不知道如何解决。 我从s3读取文件,然后将其保存到文件夹(下载)。 之后,我读取保存在文件夹中的文件(保存在下载文件中)并重新调整大小,然后再将其保存在具有不同名称的其他文件夹中(调整大小)。 然后,我想再次读取此文件,以便以新的大小再次上传它,但是当我尝试这样做时,它会引发错误,指出此目录中没有该文件,但是当我在文件夹中对其进行检查时,它。 我猜想它是在图像写入新文件夹之前尝试读取的(已调整大小)如何解决?
更新
因此,我不得不这样做,但它并未在fs.readFileAsync中打印出任何内容。 为什么?
var image = new ImageResize(__dirname +'/../downloads/'+ hash + '.png');
image.smartResizeDown({
width: 200,
height: 200
}).then(function () {
image.stream(function (err, stdout, stderr) {
var writeStream = fs.createWriteStream(__dirname +'/../resized/'+ hash + 'resize.png');
stdout.pipe(writeStream);
}).then(function(){
fs.readFileAsync('C:/Users/user/Desktop/cloud/new/resized/'+hash+'resize.png', function(error, buf){
if(error)
console.log(error);
else
console.log('yay');
});
});
});
var image = new ImageResize(__dirname +'/../downloads/'+ hash + '.png'); image.smartResizeDown({ width: 200, height: 200 }) .then(function () { return new Promise(function(resolve, reject) { image.stream(function (err, stdout, stderr) { var writeStream = fs.createWriteStream(__dirname +'/../resized/'+ hash + 'resize.png'); stdout.pipe(writeStream); resolve(); }) }); }) .then(function(){ fs.readFileAsync('C:/Users/user/Desktop/cloud/new/resized/'+hash+'resize.png', function(error, buf) { if(error) console.log(error); else console.log('yay'); }); return null; });
假设bluebird对象在Promise
命名为变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.