Как получить длину файла изображения Uri - PullRequest
0 голосов
/ 07 октября 2019

У меня есть файл изображения Uri, и мне нужно проверить, не превышает ли этот файл 1 МБ. Вот часть того, что я попробовал:

val uriFile  = selectedPhotoUri!!.toFile()
uriFileLength = (uriFile.length().div(1024))

приложение упало

также я пробовал это:

val uriFile :File = File(selectedPhotoUri.toString())
uriFileLength = (uriFile1.length().div(1024))

uriFileLength всегда возвращает также 0Я использую Kotlin, я искал на этом форуме, но нашел только коды Java. заранее спасибо.

1 Ответ

0 голосов
/ 07 октября 2019

Вы должны разыграть либо .length(). или 1024 в float или double , в противном случае операция вернет целое число, которое в случае, если размер файла меньше 1024, вернет 0.

Например:

Целые числа

256 / 1024 = 0

Double или Float

256 / 1024 = 0.25

Таким образом, вы можете иметь что-то вроде:

fun File.getFileSizeFloat(): Float {
    return this.length().toFloat().div(1024)
}

fun File.getFileSizeDouble(): Double {
    return this.length().toDouble().div(1024)
}

// call to get file size
uriFile.getFileSizeDouble()

// or
uriFile.getFileSizeFloat()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...