mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-07 16:06:08 +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