繁体   English   中英

读写s3节点js

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM