Я делаю вызов API, чтобы получить файл с помощью axios:
async function getData() {
const config = {}; // { responseType: 'stream'};
const { data } = await axios.get(URL, config);
console.log(data);
return data;
}
Когда я пытаюсь распечатать результат моего HTTP-запроса, я получаю кучу чепухи (похоже, какой-то типнеобработанные данные) - снимок экрана здесь:
...
�nG��p���1�l�ՓA�zw:/F� �@LJW>
��⟿_��̠����������=�|�d�s_���A�GԢ������
...
Я хочу передать эти данные (файл изображения или видео) тому, кто достигает конечной точки моего сервера Node Express - Как я должен это сделать?Я прочитал что-то об использовании потока, а затем направить его в ответ.
router.get("/file", async(res,res) => {
const file = await getFile();
//const stream = fs.createReadStream(file)
//res.pipe(stream)
})
Однако моя проблема в том, что я не знаю, как обращаться с данными, которые я получаю в первую очередь от API.Я попытался изменить responseType
axios на stream
(по умолчанию: json
), который возвращает мне объект, но также не уверен, как его обработать.
Редактировать - Попытка 1:
async function getData() {
const config = { responseType: 'stream'};
const { data } = await axios.get(URL, config);
console.log(data);
return data;
}
router.get("/file", async(res,res) => {
const file = await getFile();
file.pipe(res);
})