首页 > 解决方案 > 如何在 Flask 中使用文件数据重新路由/重新创建 POST 请求

问题描述

我正在尝试将我的 Python Flask webservice 收到的文件上传 POST 请求转发到另一个 API。我已经收到了 API 可以接受的格式的请求,但是,我无法找到任何方法来接收我收到的请求并将其直接转发到 API。我曾想象过可能存在这样的事情:

requests.post("url_of_api", request)

requestFlask 对接收到的请求的表示在哪里。这样的事情可能吗?

或者,我正在尝试使用相同的数据重新创建请求。问题是请求包含文件上传(特别是 wav)。我尝试使用文件数据创建请求,如下所示:

requests.post("url_of_api",files={"audio_data":("test.wav",request.files["audio_data"].stream.read())})

我可以在 Wireshark 中看到请求在文件表示方面几乎相同,但是,字节流的开头和结尾略有不同,第二个请求中的文件少了 46 个字节的数据。此外,它失去了它的 MIME 类型。有没有办法在新请求中准确复制上传文件的字节表示?

标签: pythonflaskpost

解决方案


推荐阅读