簡體   English   中英

Nodejs無法創建目錄

[英]Nodejs Not able to create directory

我想將圖像發布到服務器。但在此之前,我想確保在將圖像放置到正確的文件夾之前創建該目錄。我要創建的文件夾是year/month/day/[image] 我可以在本地PC上生成文件夾,但是當我想在服務器上申請時,顯示錯誤消息並且沒有創建文件夾。我不知道我犯了什么錯誤,希望有人能幫我解決這個問題。 先感謝您。

殘疾人士

在此處輸入圖像描述

錯誤

return binding.mkdir(pathModule._makeLong(path), Error: ENOENT: no such file or directory, mkdir '/home/eis/development/eis-api-dev/picture/2020/06/01/'

代碼

var storage = multer.diskStorage({
     destination: function (req, file, cb) {
         ///output: home/eis/development/eis-api-dev/picture/2020/06/01/
          const dir = path.join(__dirname,_const.IMAGE_FILE_PATH+_const.generateImagePath(null,null,null));
          console.log("path:"+dir);
          fs.exists(dir,exists =>{
               if(!exists){
                    //mkdirp.sync(dir);
                    return fs.mkdirSync(dir,{recursive: true},error => cb(error,dir));

               }
               return cb(null,dir)
          });

     },
     filename: function (req, file, cb) {
       cb(null, file.originalname)
     }
   })

嘗試使用 mkdirp 創建

 if (!fs.existsSync(directoryPath)){
            mkdirp(directoryPath, function (err) {
              if (err) {
                console.log("Error Creating Directory "+directoryPath);
              }
              else {
                    console.log("Creating Directory "+directoryPath);
              }
   }

我只需要升級最新的 nodejs 版本就可以了。

異步創建目錄

const fs = require('fs');
const path = 'newfolder/xyz/';
    fs.exists(path, exists => {
        if (exists) {
            console.log('The directory exists...!!');
        }
        else {
            fs.mkdir(path, { recursive: true }, (error) => {
                console.log(error);
                if (error)
                    // print or display your error
                else {
                    return path;
                }
            });
        }
    });

暫無
暫無

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

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