Как обернуть файл, загружая REST API с помощью GraphQL?
Я использую Graphene и Django. И я пытался обернуть приведенный ниже код с помощью GraphQL.
def download(request):
file_path = "/a/file/path/"
if os.path.exists(file_path):
with open(file_path, 'rb') as fh:
response = HttpResponse(fh.read(), content_type="application/vnd.ms-excel")
response['Content-Disposition'] = 'inline; filename=' + os.path.basename(file_path)
return response
raise Http404
Обертка выглядит следующим образом (просто отправьте вызов API внутри резольвера):
class Query(ObjectType):
download_a_file = graphene.String(required=True)
def resolve_download_a_file(root, info):
url = info.context.build_absolute_uri(reverse("download"))
response = requests.post(url)
return str(response.status_code)
Если я отправляю вызов GraphQL, ничего не загружается, я получаю только код состояния 200. Если я использую REST API, я получаю файл.
Хотелось бы узнать, как я могу получить файл при вызове конечной точки с помощью GraphQL.