У меня есть следующая функция на моем NodeJS сервере, которая извлекает изображение из моего хранилища файлов mongoDB GridFS:
router.get("/photo", (req, res) => {
const { id } = req.query;
const file = gfs
.find({ _id: ObjectId(id) })
.toArray((err, files) => {
if (!files || files.length === 0) {
return res.status(404).json({
err: "no files exist"
});
}
gfs.openDownloadStream(ObjectId(id)).pipe(res);
});
});
В PostMan работает отлично, изображение отображается на нем. Тем не менее, я пытаюсь загрузить в моем собственном приложении и отобразить его пользователю, но все, что я получил от своего сервера, это пустой буфер массива:
const getAvatar = dispatch => (customer) => {
console.log(customer.avatar)
dispatch({ type: "FETCH_AVATAR" });
try {
// axios instance
server.get(`/api/customer/photo?id=${customer.avatar}`, { responseType: 'arraybuffer' }).
then(res => {
console.log(res.data);
})
//console.log(response);
} catch (error) {
const { response: { data } } = error;
dispatch({ type: 'FETCH_AVATAR_REJECTED', payload: data });
}
}
Любая подсказка, что я делаю здесь неправильно