簡體   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