你如何 post 从龙卷风文件到烧瓶端点?

How do you post files from tornado to a flask endpoint?

我有烧瓶 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.filesImageResource 中为空。实现这个的正确方法是什么?

看起来烧瓶 ImageResource 正在等待 multipart/form-data 请求。如果龙卷风 ImageHandler 的输入已经是 multipart/form-data 格式,您可能只需要传递正确的 Content-Type header。要直接从传入请求中复制 header,请执行 fetch(url, body=self.request.body, headers=self.get_header("content-type"))