3

已编辑我的问题以使其更清楚。

基本上我正在开发一个用户需要上传他们的个人资料图片的应用程序。但是我需要将图片上传的大小限制为小于 4MB。在这里,用户从图片库中选择他的图片,在那一刻,我需要检查图片文件的大小,如果文件大小大于 4MB,则向用户显示警报并限制上传。

目前我正在使用此代码来获取文件大小:

File Img = new File(selectedImage.getPath()); int 长度 = Img.length();

我知道 length() 以字节为单位返回文件大小,但是即使在从字节转换为 MB 之后,这似乎总是返回比原始图像文件大小非常小的值,这导致我认为以这种方式获取文件大小是不准确的。

有没有其他方法可以从设备库中获取图像文件的文件大小?

任何帮助深表感谢。多谢你们。

4

2 回答 2

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();
于 2013-09-04T11:11:38.130 回答
0

实际上,这个问题有点不清楚:大小是“以 Kb 为单位”,或者你必须知道它在屏幕上的显示方式是什么?

那会有帮助吗?

于 2013-09-04T11:02:20.940 回答