适用于Android的Base64检查器

适用于Android的Base64检查器,android,base64,Android,Base64,是否可以在发送到web服务器之前检查Base64图像。web服务器接受Base64图像,因此我使用以下方法转换图像: public void makeJSON_For_Image(int imageSize, String img_Address, String guid) { imageSizes = imageSize; img_Address = img_Address.substring(7, img_Address.length());

是否可以在发送到web服务器之前检查Base64图像。web服务器接受Base64图像,因此我使用以下方法转换图像:

   public void makeJSON_For_Image(int imageSize, String img_Address, String guid) {
        imageSizes = imageSize;
        img_Address = img_Address.substring(7, img_Address.length());
        byte[] bytes = null;
        byte[] buffer = new byte[8192];
        int bytesRead;
        try {
            InputStream input = new FileInputStream(img_Address);
            ByteArrayOutputStream output = new ByteArrayOutputStream();
            while ((bytesRead = input.read(buffer)) != -1) {
                output.write(buffer, 0, bytesRead);
            }
            bytes = output.toByteArray();
        } catch (Exception e) {
            e.printStackTrace();
            LoggerExeption.log(e.getMessage() + "\n", e.getStackTrace());
        }
        String pic = Base64.encodeToString(bytes, Base64.DEFAULT);
}
但有时,服务会出错,因为它无法将base64转换为映像

是否可以检查base64是否正确转换

编辑 根据Alexandru Sandu的建议,我使用了如下正则表达式:

String pic = Base64.encodeToString(bytes, Base64.DEFAULT);
String regex = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$";
if(pic.matches(regex)){
    System.out.println("it's a Base64");
}
但是我的if条件返回false!!! 这是我base46的一部分:

pic=

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF
BgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAUAA8ADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwBtte/Z
4xAIcKowMCrEeoWz5WRRSG2i2+YhyMUi2UEwPOK/Pz7Qe1pbTjfE4AqNtOZcmKTPtTfslzFnyJMj
0zTVlukYiRelAEcsc8R5FIJkkXbIuCKtJcRyriUUjWccmSjjHoaB30K4Kj5Q2aQLNC28DINPk09l
+ZentUZaaLjOQKAWpKl0MESIDSiS3kHyAZqHzkIww/So2MYOUPWgLIsMkEnDAGmfZYlOFJH1pitF
nIkwfenRsRkM+R7GgQjWsmDsbI7iql1pVpKC0tsoP95OKviUJyvWkyJAS2D65oAx/wCyZRn7FeYI
/heml9YsgfPtyQP4k5Fa/kwsCE4I7ikEbrwGzQUmjNg1i3lylwOffrUyfZZM7WxUk9pZXGVuLdT7
看来这是不对的


但我检查了我的照片在网上基地64检查器,我的形象出现完全

有效图像的要求是什么?如果所有图像都必须是.png,那么您可以验证文件签名(),这是一种廉价的确定图像是否有效的方法。该图像来自mobile cammera,是的,它具有png扩展名。图像正确,但base64是否可疑?是否要签入代码?或者你只是为了发展而检查它?如果是后者,则获取带有断点的base64并在此处检查:如果是第一个,则检查此线程: