簡體   English   中英

NodeJS FS(writeFile)錯誤

[英]Error with NodeJS FS (writeFile)

這是我的路由器中負責管理我的上傳的部分:

fs.readFile(files.photo.path, function (err, data) {
    // Here is the futur name of my file (ex: SERVER_PATH/images/moka/moka22/11/2016_1.jpg)
    var newPath = __dirname + "/images/moka/moka" + new Date().toLocaleDateString() + "_" + Math.floor(Math.random() * 10) + 1 + "." + ext;
    fs.writeFile(newPath, data, function (err) {
      if(err) {
        res.render('error', { error: err, message: "Erreur lors de l'upload"});
      } else {
        // insctructions
        });
      }
    });
  });

當代碼被觸發時,我有這個錯誤:

Error: ENOENT: no such file or directory, open 'D:\projects\raspberry\routes\images\moka\moka2016-11-22_91.jpg'
at Error (native)

如果我很了解fs doc( https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback ):

fs.writeFile(theNameOfTheFuturFile, theDataToPutIn, callback);

所以我有點困惑。

對不起,我的英語,可能不好,我希望你猜我的意思是:)

謝謝。

問題可能是您正在寫入的目錄不存在。

因此請確保它存在:

fs.readFile(files.photo.path, function (err, data) {
    var dirPath = __dirname + "/images/moka/moka";
    if (!fs.existsSync(dirPath)){
        fs.mkdirSync(dirPath);
    }
    ...

或手工完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM