Dialogflow, nodejs: модуль файловой системы - ошибка: EROFS: файловая система только для чтения, откройте файл «filename.pdf» при ошибке (собственный) - PullRequest
0 голосов
/ 29 октября 2018

Я использую модуль Файловая система для потоковой передачи файла PDF, а затем для доступа к этому файлу для последующего использования. Это работает, когда я пытаюсь сделать это в компиляторе, но когда я делаю развертывание в Dialogflow, происходит сбой с ошибкой:

Error: EROFS: read-only file system, open 'filename.pdf' at Error (native)

Это код:

const fs = require('fs');
const request = require('request');

var downloadRequest = {
    url: "http://www.axmag.com/download/pdfurl-guide.pdf",
    method: 'GET'
}

var file = fs.createWriteStream("filename.pdf");
request(downloadRequest).pipe(file);

file.on('finish', function(){
    var downloadedFile = fs.createReadStream("filename.pdf");
    // Other code which accesses 'downloadedFile' takes place below
    ...
});

Можно ли что-нибудь сделать для устранения этой ошибки?

1 Ответ

0 голосов
/ 29 октября 2018

Как мы уже говорили, вы развертываете код с использованием функций Firebase. FF - это системы только для чтения, являющиеся частью системы без сохранения состояния, что означает, что вы не можете сохранять файлы постоянно (поскольку это может конфликтовать с системой без сохранения состояния, и сохранение этих файлов на каждом сервере / среде выполнения не гарантируется).

Для динамического размещения контента вам потребуется другая система для размещения файлов. Это может быть сделано через Firebase облачное хранилище вместо сохранения в процессе или просто хранения содержимого файла в памяти.

...