mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-07 16:06:08 +00:00
Override contentLength in content uri request body to fix uploads to ocis
This commit is contained in:
parent
99e636e8f6
commit
5c2be25d66
@ -2,6 +2,7 @@ package com.owncloud.android.lib.resources.files
|
|||||||
|
|
||||||
import android.content.ContentResolver
|
import android.content.ContentResolver
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
import android.provider.OpenableColumns
|
||||||
import com.owncloud.android.lib.common.OwnCloudClient
|
import com.owncloud.android.lib.common.OwnCloudClient
|
||||||
import com.owncloud.android.lib.common.http.HttpConstants
|
import com.owncloud.android.lib.common.http.HttpConstants
|
||||||
import com.owncloud.android.lib.common.http.methods.webdav.PutMethod
|
import com.owncloud.android.lib.common.http.methods.webdav.PutMethod
|
||||||
@ -59,6 +60,14 @@ class ContentUriRequestBody(
|
|||||||
return contentType.toMediaTypeOrNull()
|
return contentType.toMediaTypeOrNull()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun contentLength(): Long {
|
||||||
|
contentResolver.query(contentUri, null, null, null, null)?.use { cursor ->
|
||||||
|
val sizeIndex = cursor.getColumnIndex(OpenableColumns.SIZE)
|
||||||
|
cursor.moveToFirst()
|
||||||
|
return cursor.getLong(sizeIndex)
|
||||||
|
} ?: return -1
|
||||||
|
}
|
||||||
|
|
||||||
override fun writeTo(sink: BufferedSink) {
|
override fun writeTo(sink: BufferedSink) {
|
||||||
val inputStream = contentResolver.openInputStream(contentUri)
|
val inputStream = contentResolver.openInputStream(contentUri)
|
||||||
?: throw IOException("Couldn't open content URI for reading: $contentUri")
|
?: throw IOException("Couldn't open content URI for reading: $contentUri")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user