У меня есть экспресс-сервер, который берет данные с моего другого сервера, редактирует их и отправляет клиенту с помощью библиотеки curl
(я пробовал request
, но он сделал то же самое).Все отлично работает, кроме случаев, когда я пытаюсь скопировать MP3-файл.Если я попробую это сделать, то Chrome не сможет декодировать MP3.Однако, если я получаю доступ к MP3 с исходного сервера, он прекрасно декодируется и воспроизводится.Я не редактирую MP3.Вот как выглядит мой код:
// server2.example.com source
const curl = require("curl");
const edit = (b, p) => {};
const express = require("express");
/* ... express app stuff ... */
app.get("*", (req, res) => {
curl.get(
"http://server1.example.com" + req.path, {},
(err, response, body) => {
if (err) return;
res.type(response.headers["content-type"]).status(response.statusCode).send(edit(body, patches));
}
);
});
app.listen(80);
Еще раз файл не отредактирован и тот же файл, что и на server1
.Вот скриншот того, что я вижу при посещении server1.example.com/audio.mp3
против server2.example.com/audio.mp3
:
server2.example.com / audio.mp3 снимок экрана
server1.example.com / audio.mp3 снимок экрана