Электрон: сохранить pdf файл с помощью fs

Есть <input type="file" id="upload" accept="application/pdf"/> который принимает PDF, который должен быть сохранен в папку в приложении для электронов. Сохранение файла с помощью fs работает нормально, но я не могу понять, как это работает с PDF. Я не знаю, что мне нужно передать writeFileSync() для данных и кодирования.

function upload(path){
    "use strict";
    var fs = require('fs');
    var file = $("#upload").prop("files")[0];
    try {
        fs.writeFileSync(path, foo, bar);
    } catch(e) {
        console.log(e);
    }
}

Спасибо за ваше время и помощь!

1 ответ

Решение

Согласно тому, что я только что прочитал, вам нужно взять путь к файлу, который вы захватываете, и прочитать его с fs.readFile(path[, options], callback)

Это возвращает значение "data", которое вы затем сможете использовать для записи в нужное вам место.

fs.readFile('/tmp/my.pdf', (err, data) => {
  if (err) throw err;
  fs.writeFileSync(path, data, 'binary');
});

https://nodejs.org/api/fs.html

Я начал здесь, взгляните: как я могу обрабатывать локальные загрузки файлов в электронном формате?

Ответ показывает немного другой способ захвата имени файла (dialog.showOpenDialog) но я думаю, что то, что вы делаете, должно быть хорошо, пока вы получаете полный путь.

Другие вопросы по тегам