Можно ли запустить загрузку файла в браузере из конечной точки GraphQL в приложении apollo-server-express?
У меня есть конечная точка, написанная в стандартной экспресс-функции app.get (см. Ниже), но я хотел бы использовать контекст GraphQL для загрузки файла, поэтому мне интересно, можно ли вызвать загрузку из конечной точки GraphQL.
Вот простой пример того, что у меня есть на экспресс-конце в функции app.get:
app.get('/download-batch/:batchId', async (req, res) => {
res.send(new Buffer('test'));
});
Любая помощь была бы мне очень признательна. Спасибо!
@AshishPanchal Я придерживался этого маршрута, используя обычный маршрут Express.js, но в последнее время я не возвращался, чтобы вернуться к нему.


Да, но для этого вам потребуется создать настраиваемую конечную точку. Вы не можете использовать существующую конечную точку, которую используете для выполнения запросов. Используя настраиваемую конечную точку, вы должны добавить промежуточное программное обеспечение и обработать данные в буфер или любой другой формат, который вам нужен. Но это не рекомендуется. Это снова станет еще одной конечной точкой, вместо которой вы можете написать API для ее обслуживания (в конце концов, graphql построен в основном на единственной конечной точке).
Боштьян Циган упоминает здесь некоторые решения и подробно описывает использование GraphQL в качестве прокси с Minio. Бэкэнд попросит Мино создать временную ссылку, которую можно отправить обратно в браузер для прямого доступа.
Это подходящее решение для многих случаев использования.
Здравствуйте, у меня тоже есть такое же требование загрузки csv из конечной точки graphql. вы уже получили какое-нибудь решение?