我试图直接联系Jet并被告知“尝试使用7zip来压缩文件”然后没有收到进一步的回复(尽管还有其他问题)。
这是错误代码:
"error_excerpt": [
"Error parsing file: The magic number in GZip header is not correct. Make sure you are passing in a GZip stream."
],
以下是我正在尝试的内容:
def file_upload_url(self, url, filename, data):
headers = {"x-ms-blob-type": "blockblob"}
magic_number = open(filename, 'rb').read(2) # shows that magic number is correct for .gz file
print `magic_number`
with open(filename, 'rb') as f:
file_data=f.read()
response = requests.put(url, headers=headers, files={ "test.json.gz": file_data })
# i've also tried data={"test.json.gz": file_data}
然后你用另一个电话检查。该文件是从Ubuntu命令行中删除的(以排除导致问题的Python的gzip模块)。
以下是提供的文档:https://developer.jet.com/docs/
我已经实现了所有其他功能,没有丝毫打嗝,但这只是不起作用。我唯一能想到的是我以某种方式错误地发送文件数据。但我似乎无法弄清楚如何。
.json
文件已被确认为Jet代表有效。
答案 0 :(得分:2)
找出答案。必须确保只在请求中的data参数内放置二进制数据(不是字典,如文件)。
制作:
def file_upload_url(self, url, filename, data):
headers = {"x-ms-blob-type": "blockblob"}
with open(filename, 'rb') as f:
file_data=f.read()
response = requests.put(url, headers=headers, data=file_data)
很好,也很容易。