Мы разрабатываем приложение Electron JS, которое должно получить файл конфигурации с сервера в одной части.Это работало до часа назад, но теперь оно «волшебным образом» выдает ошибку разрешения.Он выдает ошибку разрешения, когда мы пытаемся написать что-нибудь.Вот что мы явно протестировали:
- app.getPath ('userData')
- "C: / test"
- app.getAppPath ()
Мы пытались запустить его из-под повышенного уровня администратора, но все равно безуспешно.Это наш фрагмент кода:
function canWrite(path, callback) {
fs.access(path, fs.W_OK, function (err) {
callback(null, !err);
});
}
function downloadFile(url, target, target_name) {
canWrite(target, function (err, isWritable) {
if (isWritable){
electronDl.download(
BrowserWindow.getFocusedWindow(),
url,
{
directory: target,
filename: target_name
}
)
console.log("Downloaded from: " + url + " to: " + target);
return true;
} else {
console.log("No permission to write to target");
return false;
}
});
}
downloadFile(REMOTEURL, app.getPath('userData'), 'sessionfile.json');
Мы переписали этот код, попытались изменить имена файлов, попробовали его без имени файла (..) и сейчас у нас нет идей.Кроме того, мы реализовали проверку файла (существует ли файл или нет) и, если это так, удаление перед выполнением этого.Мы закомментировали его сейчас для отладки, потому что он работал раньше.
Обновление: После того, как кто-то отметил, что внешняя проверка довольно бесполезна, я обновил код до этого (до сих пор неработа):
function downloadFile(url, target) {
electronDl.download(
BrowserWindow.getFocusedWindow(),
url,
{
directory: target,
}
)
}
downloadFile(REMOTEURL, "C:/test");