Проверка Base64 для AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проверка Base64 для Android

Сообщение Anonymous »

Можно ли проверить изображения Base64 перед отправкой на веб-сервер. Веб-сервер принимает изображение 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 или нет?

Изменить

Согласно предложению Александру Санду я использовал это регулярное выражение следующим образом:

Код: Выделить всё

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, мое изображение появилось полностью...

Подробнее здесь: https://stackoverflow.com/questions/511 ... or-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»