Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
nuroraf
1 / 1 / 3
Регистрация: 16.09.2013
Сообщений: 292
1

Как вытащить ссылку base64 из тэга img через JSOUP?

20.07.2018, 15:54. Просмотров 310. Ответов 12
Метки нет (Все метки)

Всем Привет!
Встала задача, как вытащить через библиотеку jsoup ссылку на base64 кодированное изображение, чтобы его через Picasso скормить imageView?

HTML5
1
<td> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF0AAAAXCA......./c/P//3u9b/gVvb+chdZQDVwAAAABJRU5ErkJggg=="></td>
У меня код:

Java
1
2
3
4
 Element row = parced_rows.get(i);
 Elements cols = row.select("td");
 Element image = row.select("img").first();
 String image_url = image.absUrl("src");
Но ща image_url у меня не берет ничего и в следствии апп ругается на пустой линк для imageView в адаптере:


Java
1
Picasso.with(getContext()).load(my_data.getLink()).into(link);
Как можно вытащить эту ссылку и далее раскодировав ее скормить моему ImageView?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2018, 15:54
Ответы с готовыми решениями:

Как вывести картинки через такую ?img=52135 ссылку?
Как вывести картинки через такую phpscript.php?img=52135 ссылку? (Задача скрыть настоящий путь...

Как через регулярку вытащить ссылку ?
Нужно вытащить ссылку на файл с rghost Пробовал так: &lt;? $file =...

Как создать IMG из base64-строки?
Есть такая проблема: Имеется папка с множеством подпапок содержащих html-файлы, содержащие embeded...

Как защитить от взлома через [img] [/img] BBcode
Добрый день! На сайте реализованы некоторые возможности BBcode в комментировании... Я так понимаю...

Jsoup, как вытащить картинку из rss ленты в теге <description>
пишу клиент для сайта использую xml sax parser вопрос как вытащить картинки и сделать что бы они...

12
demixdn
310 / 255 / 79
Регистрация: 31.10.2016
Сообщений: 619
20.07.2018, 16:03 2
Цитата Сообщение от nuroraf Посмотреть сообщение
ссылку на base64 кодированное изображение
вы не понимаете сути. та строка уже и есть изображение. это не ссылка.

декодировать ее можно так (код не мой):
Java
1
2
3
byte[] decodedString = Base64.decode(base64string, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0,decodedString.length);
mImageView.setImageBitmap(decodedByte);
0
nuroraf
1 / 1 / 3
Регистрация: 16.09.2013
Сообщений: 292
20.07.2018, 19:19  [ТС] 3
demixdn,
Просто у меня в коде image_url ничего не получает и становиться ""
0
demixdn
310 / 255 / 79
Регистрация: 31.10.2016
Сообщений: 619
20.07.2018, 20:00 4
аттрибут нужно вытягивать
Java
1
String image_url = image.attr("src");
0
nuroraf
1 / 1 / 3
Регистрация: 16.09.2013
Сообщений: 292
20.07.2018, 20:08  [ТС] 5
demixdn,
Да. Покурил немного гугл и вытащил этой стройкой src, но на строке:
Java
1
byte[] decodedString = Base64.decode(getSRC,Base64.DEFAULT);
теперь выдает:
Java
1
java.lang.IllegalArgumentException: bad base-64
Попробовал NO_WRAP, NO_PADDING, SAFE_URL - ошибка не исчезает (
0
demixdn
310 / 255 / 79
Регистрация: 31.10.2016
Сообщений: 619
23.07.2018, 10:53 6
nuroraf, эту часть
data:image/png;base64,
нужно выбрасывать при декодировании.
0
nuroraf
1 / 1 / 3
Регистрация: 16.09.2013
Сообщений: 292
23.07.2018, 11:10  [ТС] 7
demixdn,
С этим тоже разобрался, но теперь, когда передаю эту строчку в Адаптер и через Picasso/Glide загружаю в ImageView, ничего не загружает.
Пустота.
0
ExFau$t
734 / 606 / 150
Регистрация: 08.05.2012
Сообщений: 2,947
23.07.2018, 11:22 8
Тебе же объяснили русским языком, base64 это не ссылка, а закодированное изображение, оно уже загружено, нужно декодировать и положить во вью сразу.
0
nuroraf
1 / 1 / 3
Регистрация: 16.09.2013
Сообщений: 292
23.07.2018, 11:25  [ТС] 9
ExFau$t,
Почему вы такой злой, Дядя?)) Не сердитесь
Я декодирую в строку, и сразу не могу загрузить. У меня поток Async Task, через который я передаю эту декодированную строку в кастомный адаптер, а там уже должен загружать в ImageView.
0
ExFau$t
734 / 606 / 150
Регистрация: 08.05.2012
Сообщений: 2,947
23.07.2018, 11:29 10
И? Что мешает мешает в адаптере сделать так?:
Java
1
mImageView.setImageBitmap(decodedByte);
0
nuroraf
1 / 1 / 3
Регистрация: 16.09.2013
Сообщений: 292
23.07.2018, 11:32  [ТС] 11
ExFau$t,
У меня в класс-моделе она шла, как стринг и я в конструктор передавал ее, как строку.
Мне необходимо именить класс и String для этого класса поменять на Bitmap?
0
ExFau$t
734 / 606 / 150
Регистрация: 08.05.2012
Сообщений: 2,947
23.07.2018, 11:37 12
Можешь передать строку в адаптер и декодировать там, я разрешаю.
0
nuroraf
1 / 1 / 3
Регистрация: 16.09.2013
Сообщений: 292
23.07.2018, 11:40  [ТС] 13
ExFau$t,
Спасибо, Дядя. Это мне и надо было.
Только вы не сердитесь.
0
23.07.2018, 11:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2018, 11:40

Как вытащить ссылку из скрипта?
Всем привет! есть ссылка скажем site.ru при входе сразу открывается скрипт function setPlayer(){...

Получить полную ссылку jsoup 1.7.3
Убил уже кучу времени, а так и не понял как получить полные пути ссылок со страницы. jsoup 1.7.3...

Как вытащить ссылку из этого кода?
&lt;a...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru