mirror of
				https://github.com/owncloud/android-library.git
				synced 2025-10-31 02:17:41 +00:00 
			
		
		
		
	Fix bug in chunked upload (work in progress)
This commit is contained in:
		
							parent
							
								
									3d8ec568ec
								
							
						
					
					
						commit
						4c1f91e9ef
					
				| @ -32,6 +32,7 @@ import java.io.RandomAccessFile; | ||||
| import java.nio.channels.FileChannel; | ||||
| import java.util.Random; | ||||
| 
 | ||||
| import org.apache.commons.httpclient.Header; | ||||
| import org.apache.commons.httpclient.methods.PutMethod; | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.OwnCloudClient; | ||||
| @ -49,6 +50,7 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation | ||||
|     public static final long CHUNK_SIZE = 1024000; | ||||
|     private static final String OC_CHUNKED_HEADER = "OC-Chunked"; | ||||
|     private static final String OC_CHUNK_SIZE_HEADER = "OC-Chunk-Size"; | ||||
|     private static final String OC_CHUNK_X_OC_MTIME_HEADER = "X-OC-Mtime"; | ||||
|     private static final String TAG = ChunkedUploadRemoteFileOperation.class.getSimpleName(); | ||||
| 
 | ||||
|     public ChunkedUploadRemoteFileOperation(String storagePath, String remotePath, String mimeType){ | ||||
| @ -99,6 +101,12 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation | ||||
|                 mPutMethod.addRequestHeader(OC_CHUNKED_HEADER, OC_CHUNKED_HEADER); | ||||
|                 mPutMethod.addRequestHeader(OC_CHUNK_SIZE_HEADER, chunkSizeStr); | ||||
|                 mPutMethod.addRequestHeader(OC_TOTAL_LENGTH_HEADER, totalLengthStr); | ||||
| 
 | ||||
|                 // Tell to the server what is the last modification date of the file to upload | ||||
|                 Long timeStampLong = System.currentTimeMillis()/1000; | ||||
|                 String timeStamp = timeStampLong.toString(); | ||||
|                 mPutMethod.addRequestHeader(OC_CHUNK_X_OC_MTIME_HEADER, timeStamp); | ||||
| 
 | ||||
|                 ((ChunkFromFileChannelRequestEntity) mEntity).setOffset(offset); | ||||
|                 mPutMethod.setRequestEntity(mEntity); | ||||
|                 if (mCancellationRequested.get()) { | ||||
| @ -115,6 +123,9 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation | ||||
| 
 | ||||
|                 status = client.executeMethod(mPutMethod); | ||||
| 
 | ||||
|                 // DELETE NEXT LINE | ||||
|                 Header[] headers = mPutMethod.getResponseHeaders(); | ||||
| 
 | ||||
|                 if (status == 400) { | ||||
|                     InvalidCharacterExceptionParser xmlParser = | ||||
|                             new InvalidCharacterExceptionParser(); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user