Python Flask从POST获取zip文件



我有一个从邮递员或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

最新更新