У меня есть файл, в который я пытаюсь написать сообщение. В настоящее время FS не делает ошибок и не записывает в файл. Однако, если взять тот же код из развернутой сборки и запустить его локально, он работает. Я даже держал постоянный путь к файлу, поскольку сначала он выдавал no permissions error
. Я гарантировал, что этот файл записан в один и тот же каталог, чтобы каждый процесс Filewrite Stream просматривал один и тот же каталог и файл.
Локальная сборка:
var fs = require('fs');
const path = require('path');
var user_name = 'Password';
var password = 'test';
var errSTR = ""
fs.writeFile('C:\\hi.txt', 'Content to write', { flag: 'w' }, function(err) {
if (err)
return console.error(err);
fs.readFile('C:\\hi.txt', 'utf-8', function (err, data) {
if (err)
return console.error(err);
console.log(data);
});
});
Развернутая сборка:
app.route('/test')
.get(function(req, res) {
res.send('GET test');
})
.post(function(req, res) { // Start Post
var boolTry = false;
try {
boolTry = true;
var bool = false
var user_name = "Password"//req.body.user;
var password = "test"//req.body.password;
var errSTR = ""
fs.writeFile('C:\\hi.txt', user_name + password, { flag: 'w' }, function(err) {
if (err)
return console.error(err);
fs.readFile('C:\\hi.txt', 'utf-8', function (err, data) {
if (err)
return console.error(err);
res.send(500 + err);
console.log(data);
});
})
} catch (error) {
bool = true
errSTR = error
}
res.send('POST test' + " " + boolTry + " " + bool + " " + errSTR + ";")
})//END POST
.put(function(req, res) {
res.send('PUT test');
});
Локальная сборка будет правильно записывать в файл, в то время как сборка dev, похоже, ничего не делает. Следует отметить, что логические значения использовались, чтобы понять, как работает средство записи файлов, но вот ответ сервера от сборки: successful response POST test true false ;
Использование:
IISNODE for iis: 7.x
Express: 4.16.2
node.js: v8.9.4
cors: 2.8.4
body-parser: 1.17.2
Sidenote : Если вас смущает написанная часть кода, мы хотели написать, проверить ошибку, затем прочитать, проверить ошибку на уверенность.
Обновление
Повторяющаяся ошибка, основанная на определенных методах записи файлов. Ошибка: EPERM: operation not permitted, open
. Да, все разрешения для каталога включены, а также проверены права на чтение и запись.