問題がありますが、解決方法はわかりません。 s3からファイルを読み込んだ後、フォルダに保存します(ダウンロード)。その後、私は(私がダウンロードして保存した)フォルダに保存したファイルを読み込み、サイズを変更して別のフォルダに別の名前で保存します(サイズ変更)。 次に、このファイルを新しいサイズで再びアップロードするためにこのファイルをもう一度読みたいと思いますが、このディレクトリにそのようなファイルがないというエラーがスローされますが、自分のフォルダでチェックすると用量。 イメージが新しいフォルダに書き込まれる前に読み込もうとしています(サイズ変更済み) どうすれば修正できますか?これは私がやったことですが、それはfs.readFileAsyncで何かをプリントアウトdisen'tコミットするのでaccrodings3ノードの読み書きjs
更新
。 なぜですか?青い鳥オブジェクトを仮定
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');
});
});
});
コードが非同期で実行され、予期しない動作が発生した場合は、このタイプの問題を解決するためにPromise(例:bluebird)を使用してください。 –
@JitendraKhatriはあなたの提案を使用して私の質問を編集しました – user3488862
image.streamはまだ非同期タスクです –