Ответ с двумя файлами данных на readFile - Node - PullRequest
0 голосов
/ 15 января 2019

Я использую узел, чтобы отвечать клиентам двумя файлами. На данный момент я использую конечную точку для каждого файла, потому что я не могу понять, как передать более одного в ряд.

Вот функция, которая отвечает с файлом:

    exports.chartBySHA1 = function (req, res, next, id) {

        var dir = './curvas/' + id + '/curva.txt'; // id = 1e4cf04ad583e483c27b40750e6d1e0302aff058
        fs.readFile(dir, function read(err, data) {
            if (err) {
                res.status(400).send("Não foi possível buscar a curva.");
            }
            content = data;
            res.status(200).send(content);
        });
    };

Кроме того, мне нужно изменить имя файла по умолчанию, когда я достигаю этой конечной точки, имя приносит 1e4cf04ad583e483c27b40750e6d1e0302aff058, но я передаю содержимое 'curva.txt'.

У кого-нибудь есть советы?

1 Ответ

0 голосов
/ 16 января 2019

Q: Как передать обратно содержимое нескольких файлов пользователю без необходимости создания отдельных конечных точек.

A: Есть несколько способов сделать это.

Если содержимое каждого файла невелико, то самый простой выход - прочитать все содержимое и затем передать его обратно как javascript объект ключ-значение. Э.Г.

let data = {
    file1: "This is some text from file 1",
    file2: "Text for second file"
}

res.send(data);
res.end();

Если содержимое особенно велико, вы можете передавать данные клиенту, при этом вы можете добавить некоторые метаданные или hints, чтобы сообщить клиенту, что они получат в следующий момент и когда это произойдет. конец файла.

Вероятно, есть некоторые библиотеки, которые могут сделать последнее для вас, поэтому я бы посоветовал вам поискать в github перед тем, как создавать / писать свои собственные.

Первый способ самый простой.

...