Я пытаюсь загрузить файлы в файловую систему в электронном приложении. Мой код в основном потоке выглядит так:
const dir = `${__dirname}/media`;
if (!fs.existsSync(dir)){
fs.mkdirSync(dir);
}
const file = fs.createWriteStream(`${dir}/${name}`);
file.on("open", function() {
const request = http.get(url, function(response) {
response.pipe(file);
response.on('end', function() {
file.close();
...
});
});
request.on('error', function(err) {
...
});
});
Это работает при разработке с использованием electron .
. Но после сборки с electron-builder
я получаю сообщение об ошибке в предупреждении:
Неперехваченное исключение: ошибка: ENOENT, media / uploads_2016_02_BASF_Holistic_Program.jpg не найден в /Users/nicholasstephan/Desktop/XXXXXXX/dist/Mac/XXXXXX.app/Contents/Resources/app.asar 109: ELECTRONIC в notFoundEs в Object.module. (анонимная функция) [как открытая] (ELECTRON_ASAR.js: 209: 16) в WriteStream.open (fs.js: 1890: 6) в новом WriteStream (fs.js: 1876: 10) в Object. fs.createWriteStream (fs.js: 1831: 10) в следующем (/Users/nicholasstephan/Desktop/XXXXXXXX/dist/Mac/XXXXXXXX.app/Contents/Resources/app.asar/media.js:19:18) в / Users / nicholasstephan / Desktop / XXXXXXXX / dist / Mac / XXXXXXXX.app / Contents / Resources / app.asar / media.js: 52: 4 ...
где media.js
, ln 19, относится к строке _5 _ $ {dir} / $ {name} );
в коде.
Я пробовал решения, предлагаемые примерно в десятке других похожих ответов на stackoverflow, но ни один из них не устранил проблему.
Что тут происходит?
Спасибо.