我一直在尝试使用python通过API上传文件到backblaze。在
下面是我使用的代码片段。在import json
import urllib2
import hashlib
upload_url = "" # Provided by b2_get_upload_url
upload_authorization_token = "" # Provided by b2_get_upload_url
file_data = "Now, I am become Death, the destroyer of worlds."
file_name = "oppenheimer_says.txt"
content_type = "text/plain"
sha1_of_file_data = hashlib.sha1(file_data).hexdigest()
headers = {
'Authorization' : upload_authorization_token,
'X-Bz-File-Name' : file_name,
'Content-Type' : content_type,
'X-Bz-Content-Sha1' : sha1_of_file_data
}
request = urllib2.Request(upload_url, file_data, headers)
response = urllib2.urlopen(request)
response_data = json.loads(response.read())
response.close()
我可以通过网页访问文件。在
但是当我试图通过修改下面给出的代码来上传图片时(所有其他部分都与上面的代码相同)
^{pr2}$
它会引发如下错误File "/usr/lib/python2.7/httplib.py", line 848, in _send_output
msg += message_body
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128)
当我使用base64编码图像内容时,它工作得很好,但是不能通过公共链接访问图像。有没有其他方法可以克服这个问题?在