如何获取图像的文件长度Uri

时间:2019-10-07 09:49:06

标签: android kotlin

我有一个图像Uri文件,我需要检查该文件是否大于1mb。 这是我尝试过的东西:

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 :(得分:0)

您应该投射.length()之一。或1024放入 float double 中,否则该操作将返回一个整数,如果文件大小小于1024,则将返回0。

例如:

整数

256 / 1024 = 0

双打或浮动

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()