我正在使用Dropbox API以块的形式上传文件。但是以下代码在uploader.upload_chunked()处卡住了。可能的原因是什么?
此外,是否有办法知道后台正在发生什么,例如已上传这么多块,仍在上传,接收已上传块所需的时间和其他信息?可以使用线程来上传这些块吗?假设API采取措施按正确顺序组装块,还是我们必须负责有序组装?
此外,是否有办法知道后台正在发生什么,例如已上传这么多块,仍在上传,接收已上传块所需的时间和其他信息?可以使用线程来上传这些块吗?假设API采取措施按正确顺序组装块,还是我们必须负责有序组装?
import dropbox
size = 941
access_token = 'xxx'
client = dropbox.client.DropboxClient(access_token)
to_upload_file = open('dummy.txt','r')
uploader = client.get_chunked_uploader(to_upload_file,size)
print 'uploading ', size
while uploader.offset < size :
try:
upload = uploader.upload_chunked(chunk_size=100)
print '100 bytes of chunk sent.'
except dropbox.rest.ErrorResponse,e:
print 'something went wrong'
uploader.finish('/dummy.txt')
编辑:
size = 941
-> 要上传的文件大小
upload=uploader.upload_chunked(chunk_size=100)
-> 分块上传,分块大小更改为100字节
print'100 bytes of chunk sent'
-> 包含打印语句
size
应该是您正在上传的文件的大小。如果它实际上不是 1024 字节,您可能会进入无限循环。(uploader.offset
可能始终小于size
)我不确定您看到的行为是否是无限循环。(如果在uploader.upload_chunked()
下添加了一个打印语句,它会被执行吗?执行多少次?) - user94559