我已经制作了一个api,通过flask
它提交文件,在后端接收后,我想使用python requests
模块进一步上传到一个未知的服务器
如果我这样做,服务器接受该文件 -
requests.post(urlToUnknownServer,files={'file':open('pathToFile')})
Run Code Online (Sandbox Code Playgroud)
现在我的要求是通过flask上传文件参数.
在烧瓶中,我将文件作为FileStorage
对象.我不想将其保存在我的服务器上,而是直接希望它进一步上传.
所以基本上我想将该FileStorage
对象转换为返回open()
函数类型file
(如果我错了,请在这里纠正我)
我试过用它 -
obj=file(request.files['fileName'].read().encode('string-escape'))
requests.post(urlToUnknownServer,files={'file':obj})
Run Code Online (Sandbox Code Playgroud)
这不起作用.如果不在我的服务器上保存文件,是否可以这样做.
小智 8
也许您可以使用 read() 而不对其进行编码。比如这样:
obj=request.files['fileName'].read()
requests.post(urlToUnknownServer,files={'file':obj})
Run Code Online (Sandbox Code Playgroud)
小智 6
对于遇到同样问题的任何人,只需转换为BufferedReader
像这样:
from io import BufferedReader
image = request.files.get('name')
image.name = image.filename
image = BufferedReader(image)
Run Code Online (Sandbox Code Playgroud)
然后你就可以发布它
requests.post(urlToUnknownServer,files={'file' : image})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5436 次 |
最近记录: |