Загрузить изображение из GridFS с топором ios (React Native) - PullRequest
0 голосов
/ 02 мая 2020

У меня есть следующая функция на моем 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 });
    }

}

Любая подсказка, что я делаю здесь неправильно

...