我有一个从邮递员或curl调用的flask Web服务,该调用不是来自表单,这是一个直接调用,zip作为参数传递。我已经尝试过像这样使用get_data()
file = request.get_data()
with zipfile.ZipFile(r'/my/path/myzip.zip', 'w') as f:
f.write(file)
zip被创建,但是是空的,如果我返回像return file
这样的文件值,我得到位数据,所以数据在这里..
如果我尝试使用request.files
,我需要从表单传递一个文件存储,所以现在,我不知道我能做什么!
我在谷歌上发现的所有都是基于表单请求。谢谢。
使用您提供的小代码,我假设get_data()
返回一个字符串与您的数据。您遇到的问题是write()
用于使用其路径而不是原始数据将文件写入zip。尝试使用writestr()
代替。以下是相关文档:https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.writestr