FetchFileByIdProps) => {
const { data } = await axios.get(/api/media-file?id=${mediaId}, {
responseType: "arraybuffer",
headers: {
"Content-Type": "audio/mpeg",
Accept: "audio/mp3",
},
});
return data;
};
Сервер отдает файл так:
fs.readFile(__dirname + mediaURL, (err, data) => {
return res.writeHead(200, { "Content-type": "audio/mpeg" }).end(data);
});
Каким образом можно получить данные не в формате "arraybuffer", а, например, JSON.
Скажем, сообщение, что файл не найден или недоступен для пользователя, типа такого:
if (mediaMetadata.isProtected) {
return (
res
.json({ message: "Requested media file is protected" })
);
}
Если я возвращаю JSON, то он все равно принимается как "arraybuffer" и я не могу отобразить его.
Как поступить?
поправить заголовки на клиенте. Ты ж ожидаешь только mp3
Обсуждают сегодня