2016-11-22 3 views
0

Вот мой кусок моего маршрутизатора, которые управляют мои загрузки:Ошибка с 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) 

Если я хорошо понял пФ док (https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback):

fs.writeFile(theNameOfTheFuturFile, theDataToPutIn, callback); 

Так что я немного запутался.

Извините за мой английский, это может быть плохо, я надеюсь, что вы догадываетесь, что я имею в виду :)

Спасибо.

ответ

0

Проблема может заключаться в том, что каталог, который вы пишете, не существует.

поэтому убедитесь, что она существует:

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

или сделать это вручную.

+0

Первый аргумент файла записи был именем файла. Но мое PathName было неправильным –

Смежные вопросы