我试图上传一个文件到谷歌存储,但我的代码冻结,没有响应。请帮帮我。
霉菌:
def PutFile(self,filename):
conn = httplib.HTTPConnection("%s.commondatastorage.googleapis.com" % self.bucket)
conn.set_debuglevel(2)
dd = "%s" % datetime.datetime.utcnow().strftime("%a, %d %b %Y %H:%M:%S GMT")
strToSign = "PUT\n"+"\nimage/jpeg\n"+dd+"\nx-goog-acl:public-read\n/%s/x.jpg" % self.bucket
f = open(filename,"r")
m = hashlib.md5()
m.update(f.read())
h = m.hexdigest()
sig = base64.b64encode(hmac.new(self.secret, strToSign, hashlib.sha1).digest())
total = os.path.getsize(filename)
header = {"Date":dd,"x-goog-acl":"public-read","Content-MD5":h,'Content-Length':total,'Content-Type':'image/jpeg','Authorization':"GOOG1 %s:%s" % (self.key,sig)}
r1 = conn.getresponse()
print r1.status, r1.reason
print r1.read()
conn.close()
我自己解决问题:)我的代码:
我知道这更多的是一个评论,而不是对你的问题的回答,但我把这个作为一个答案,因为我还不能评论。在
如果你能缩小函数中挂起它的地方,那真的会有帮助。尽管添加
print
函数/语句会稍微改变内存的状态,但还是值得一试,因为挂起的一个可能原因是您正在进行的网络调用。在还有-听起来很简单,但是你确定你在网络上并且能够访问Google存储站点吗?在
相关问题 更多 >
编程相关推荐