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.net.Uri
|
||||
import android.provider.OpenableColumns
|
||||
import com.owncloud.android.lib.common.OwnCloudClient
|
||||
import com.owncloud.android.lib.common.http.HttpConstants
|
||||
import com.owncloud.android.lib.common.http.methods.webdav.PutMethod
|
||||
@ -59,6 +60,14 @@ class ContentUriRequestBody(
|
||||
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) {
|
||||
val inputStream = contentResolver.openInputStream(contentUri)
|
||||
?: throw IOException("Couldn't open content URI for reading: $contentUri")
|
||||
|
Loading…
x
Reference in New Issue
Block a user