Reputation: 185
I am using the dropbox API to upload files in chunk. But the following code gets stuck at uploader.upload_chunked(). What might be the reason?
Also, is there any way to know what is happening in the background like uploaded these many chunks, still uploading, time taken to receive the uploaded chunks and other information ? Can threads be used to upload these chunks,assuming that the API takes measure to assemble the chunks in correct order,or is it that we have to take care of ordered assembling ?
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')
Edit:
size = 941
-> The size of the file to upload
upload=uploader.upload_chunked(chunk_size=100)
-> chunk_size changed from default to 100 bytes
print'100 bytes of chunk sent'
-> print statement included
Upvotes: 6
Views: 1686
Reputation: 74
I had the same issue, so I asked in dropbox's developer forum They suggest upload_chunk (member function of DropboxClient, not the one in ChunkedUploader) could suit our requirement
Upvotes: 4
Reputation: 60143
upload_chunked
uploads the entire file (one chunk at a time), so unless an error occurs, the above code should only reach the print
statement once, after the file has been uploaded.
See https://www.dropbox.com/developers/core/docs/python#ChunkedUploader.upload_chunked for the documentation of upload_chunked
.
Upvotes: 2