Как вы отправляете файлы из торнадо в конечную точку колбы?
У меня есть колба API и приложение торнадо, потребляющее API. Мне нужно POST файлы из формы и передать запрос в API, который будет обрабатывать загрузку файлов.
Ресурс фляги выглядит примерно так:
class ImageResource(BaseResource):
path = '/images'
def post(self):
for file in request.files.values():
upload(file)
Обработчик торнадо выглядит примерно так:
class ImageHandler(BaseHandler):
@gen.coroutine
def post(self):
status, result = yield self.async_api.post('/images', self.request.data)
self.write_json(result)
Их проблема в том, что request.files
пуст в ImageResource
при использовании этой реализации. Как правильно это реализовать?
1 ответ
Решение
Похоже на колбу ImageResource
ожидает multipart/form-data
запрос. Если вход в торнадо ImageHandler
уже в multipart/form-data
формат, возможно, вам просто нужно передать правильный Content-Type
заголовок. Чтобы передать копию заголовка непосредственно из входящего запроса, выполните fetch(url, body=self.request.body, headers=self.get_header("content-type"))
,