上传时限制图像大小(最大1 MB)

时间:2016-08-22 04:35:03

标签: codenameone

我在下面的代码中限制了img的高度和宽度(从图库中获取图像然后上传),但我想限制图像大小(即仅限1MB,而不是宽度和高度)。超过1 MB应显示警告。如何获得图像的字节大小?

uploadImg.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {

        Display.getInstance().openGallery(new ActionListener() {

            public void actionPerformed(ActionEvent evt) {
                try {
                    if (evt == null) {
                        System.out.println("user cancelled");
                        return;
                    }

                    eventImgpath = (String) evt.getSource();
                    Image i = Image.createImage(eventImgpath);
                    if (i.getWidth() < 800 && i.getHeight() < 267) {
                        eventImage.setIcon(i.scaledWidth(Display.getInstance().getDisplayWidth()));
                    } else {
                        ToastBar.showErrorMessage("Please check the size of the image: Height= 800 & Width= 267", 5000);
                    }
                    eventImage.getParent().revalidate();
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
        }, Display.GALLERY_IMAGE);
    }
});

1 个答案:

答案 0 :(得分:0)

无法以字节为单位限制大小。作为一种解决方法,您可以缩小分辨率并检查输出文件的结果大小。例如。对于Select concat(substr(T_data,1,9),'001 ') AS Test_Data from DB1.T1 ; Select * from DB1.T2 WHERE Test_Data = 'Test_Data'; ,您可以使用FileSystemStorage方法,对于getLength,您可以使用Storage方法。