Retrofit 2我目前正在使用,我想在我的服务器上传一些照片.我知道,旧版本使用TypedFile类进行上传.如果我们想要使用进度条,我们应该writeTo在TypedFile类中重写方法.
使用retrofit 2库时是否可以显示进度?
我正在从图库中选择图像,并通过ContentResolverAPI 查询其大小,它返回29kb。
但是,当我使用adb通过adb检查文件时,文件大小ls -al为44kb
这是我查询图像尺寸的方法:
private fun getFileInfo(contentResolver: ContentResolver, fileUri: Uri): Pair<String, Long>? {
val projection = arrayOf(MediaStore.MediaColumns.DISPLAY_NAME, MediaStore.MediaColumns.SIZE)
val metaCursor = contentResolver.query(fileUri, projection, null, null, null)
metaCursor?.use {
if (it.moveToFirst()) {
val displayNameIndex = it.getColumnIndex(MediaStore.MediaColumns.DISPLAY_NAME)
val sizeIndex = it.getColumnIndex(MediaStore.MediaColumns.SIZE)
return Pair(it.getString(displayNameIndex), it.getLong(sizeIndex))
}
}
return null
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Oreo模拟器。我还通过模拟器的工具进行了检查,另一方面,文件浏览器显示为29kb,而文件详细信息显示为45kb。到底是怎么回事?
这是文件浏览器中的图像:
另一个注意事项,每次在带有Android 26-Oreo模拟器的模拟器上使用相机应用程序时,上述情况都可以重现,但是对于Android 25-Nougat模拟器也可以。
我已经检查过,新的Document API也返回29kb