Поэтому я пытаюсь взять файл, используемый в качестве начального шаблона, добавить к нему данные в потоке (без изменения исходного файла) и передать его клиенту, не сохраняя новый файл на сервере (яв настоящее время также используется экспресс-модуль).
Пока я передаю данные в запросе на добавление и добавляю их в конец потока.К сожалению, когда вы передаете поток чтения в поток записи, вы должны указать выходной файл и местоположение для потока записи.Есть ли способ обойти это?Можете ли вы указать расположение выходного файла в качестве соответствующего порта?
Это то, что у меня есть в данный момент (возникает ошибка: невозможно передать, не читается):
app.post("/output_xml", function(req, res) {
var data = validateJSON(req.body);
stream_xml(data, res);
});
function stream_xml(data, res)
{
var read_stream = fs.createReadStream(__dirname + '/Static/input_template.xml')
var write_stream = fs.createWriteStream(__dirname + '/Static/output.xml') // trying to prevent saving a file to the server though
read_stream.pipe(write_stream);
read_stream.on('end', () => {
write_stream.write(data);
write_stream.write("\nAdding more stuff");
});
write_stream.pipe(res);
}
Смогу ли я поменяться местами?строка write_stream для чего-то вроде:
var write_stream = fs.createWriteStream('http://localhost:3000/output_xml/output.xml')