编辑了我的问题以使其更清晰。
基本上我正在开发一个用户需要上传个人资料图片的应用。但是我需要将图像上传的大小限制为小于4MB。在这里用户从图库中选择他的图像,在那一刻我需要检查图像文件的大小,并在文件大小超过4MB时向用户显示警告并限制上传。
目前我正在使用此代码来获取文件大小:
File Img = new File(selectedImage.getPath()); int length = Img.length();
我知道length()以字节为单位返回文件大小,但是即使在从字节转换为MB之后,这似乎总是返回比原始图像文件大小非常小的值,这导致我认为以这种方式获取文件大小是不准确的
还有其他方法可以从设备库中获取图像文件的文件大小吗?
非常感谢任何帮助。谢谢你们。
答案 0 :(得分:0)
实际上,问题有点不清楚:大小是'Kb'还是你必须知道它在屏幕上会怎样?
这会有帮助吗?
答案 1 :(得分:0)
以下是如何使用BitmapFactory从可绘制资源获取维度:
BitmapFactory.Options o = new BitmapFactory.Options();
o.inTargetDensity = DisplayMetrics.DENSITY_DEFAULT;
Bitmap bmp = BitmapFactory.decodeResource("Your image file");
int w = bmp.getWidth();
int h = bmp.getHeight();