我有一个图像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代码。
提前致谢。
答案 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()