ENOENT: нет такого файла или каталога: NODE JS - PullRequest
0 голосов
/ 05 февраля 2019

Может кто-нибудь помочь с этой проблемой, я знаю, что есть много вопросов, связанных с этой проблемой, но я перепробовал почти все, ничего не помогает.

makeFile(dirName, fileName, content, callback) {
        if (!fs.existsSync(dirName)) {
            // fs.mkdirSync(dirName, {recursive: true});
            shell.mkdir('-p', dirName);
        }
        zlib.inflate(Buffer.from(content), (err, InfoInflated) => {
            if (err) {
                logger.error(err);
                return callback({ success: false, code: 500, err: err});
            }
let file = fs.createWriteStream(dirName + fileName, {
                    flags: 'a'
                });
            file.on('open', fd => {
                file.write(InfoInflated.toString('utf8'));
                file.end();
            }).on('error' , (err) => {
                logger.error(err);
                return callback({ success: false, code: 500, err: err});
            }).on('finish', () => {
                logger.info("file is complete !");
                return callback({success: true, code: 200, result: {message: "OK", file: dirName + fileName}});
            });
        });
    }

/ tmp / files / 2019-02-05 / 1205_undefined_undefined / 1205_undefined_undefined.zip 'это полный путь, который создает ошибку

1 Ответ

0 голосов
/ 05 февраля 2019

Я думаю, что вы используете синтаксис оболочки неправильно.Также вам может не понадобиться использовать shell для создания каталога, как это можно сделать с помощью самого компонента fs.

Посмотрите на решение для вашего скрипта - https://jsitor.com/fh3IyKq74

Он выполняетсяВы кодируете, а также показывает ответ правильно.В mkdir убедитесь, что вы проверяете пустую строку, сначала запуская ее.

...