С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 0
Регистрация: 12.11.2016
Сообщений: 29

Не работает декодировка фото в tom cat 9

13.05.2019, 00:36. Показов 645. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Может кто подсказать в чем проблема ?

Я получаю от сервера массив байтов и потом преобразовываю его в imageView. Проблема состоит в том что когда я использовал томкат плагин мавен все было хорошо, но как только начал использовать просто томкат 8 версии , оказалось что
метод
Java
1
BitmapFactory.decodeByteArray(
начал возвращать нулл.
Ошибка (вернее null) начала показываться после использования TomCat 8 и 9 (пробовал и 7)
Весь код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 byte [] ar = message.getImageMessage().getByteArray();
            Bitmap bmp = BitmapFactory.decodeByteArray(ar , 0, ar.length);
 
            if (bmp!=null) {
 
                ByteArrayOutputStream out = new ByteArrayOutputStream();
                bmp.compress(Bitmap.CompressFormat.JPEG, 10, out);
                byte[] byteArray = out.toByteArray();
 
                // MY IMAGE
                //   if (message.getImageMessage().isFromMe()) {
                // Convert bytes data into a Bitmap
                convertView = messageInflater.inflate(R.layout.image_my_message_layout, null);
                holder.messageBody = (ImageView) convertView.findViewById(R.id.imageMessageView);
                holder.messageBody.setImageBitmap(bmp);
 
       
                double width = bmp.getWidth();
                double height = bmp.getHeight();
 
                double koef = height / 1000;
                int newWidht = (int) (width / koef);
                int newheight = (int) (height / koef);
 
                Bitmap bmHalf = Bitmap.createScaledBitmap(bmp, newWidht, newheight, false);
                holder.messageBody.setImageBitmap(bmHalf);
            }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.05.2019, 00:36
Ответы с готовыми решениями:

Tom Clancy's Splinter Cell Conviction не работает на видеокарте nvidia geforce gt 330
добрый вечер!уговорила мужа купить мне ноутбук, согласился взять подороже, только при условии, что будет играть на нем иногда.принес Tom...

Объявление класса Cat в файле Cat.hpp?
Всем доброго время суток столкнулся с такой вот проблемой, нужно объявить класс Cat в файле Cat.hpp. Работаю в Visual Studio 2008....

Команда cat не работает
День добрый господа. Возникла проблема с командой cat, как видно на скриншоте команда не работает не в каком виде, в чем может быть...

4
226 / 184 / 80
Регистрация: 13.04.2014
Сообщений: 694
13.05.2019, 17:25
https://developer.android.com/... t,%2520int)
returns The decoded bitmap, or null if the image could not be decoded.
0
3 / 3 / 0
Регистрация: 12.11.2016
Сообщений: 29
13.05.2019, 20:11  [ТС]
Что вы хотите сказать? Суть же вопроса в том что , почему вертается null , если на том кат мавен это же работает?
0
226 / 184 / 80
Регистрация: 13.04.2014
Сообщений: 694
13.05.2019, 20:17
есть предположение что картинка приходит в base64(String) формате и идёт преобразование в массив байт обычной строки. но пока это просто предположение т.к. не известно что приходит с сервера.

можно поподробней откуда берется byteArray: что за message и imageMessage
Java
1
message.getImageMessage().getByteArray();
0
3 / 3 / 0
Регистрация: 12.11.2016
Сообщений: 29
14.05.2019, 00:45  [ТС]
message -- это объект который хранит в себе 2 объекта (текстовое сообщение и сообщение-картинка) TextMessage и ImageMessage.
ImageMessage (объект с которым я работаю в этом случае ) имеет структуру:

Java
1
2
3
public class ImageMessage {
    private  byte[] byteArray; // массив байт изображения
    private  boolean fromMe;  // просто проверка на то от кого картинка
Метод который принимает ByteString bytes заворачивает его в объект message.ImageMessage
Java
1
2
3
4
5
6
7
   @Override
    public void onMessage(WebSocket webSocket, ByteString bytes) {
        ImageMessage imageMessage = new ImageMessage(bytes.toByteArray(), false);
        imageMessage.setByteArray(bytes.toByteArray());
        MergedMessage [U]message[/U] = new MergedMessage(imageMessage);
        chatActivity.onMessage(mergedMessage);
    }
Сервер хранит и пересылает массив байт таким методом
Код сервера

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
    private int size = 1_000_000;
     private  int sizeFoto = 0;
    public ByteBuffer bbuf = ByteBuffer.allocate(size);
 
    @OnMessage
    public void processUpload(ByteBuffer msg, boolean last, Session session) {
        sizeFoto += msg.array().length;
        if (msg.remaining() != 1) {
            bbuf.put(msg);
        } else {
            System.err.println("Size : " + sizeFoto);
            bbuf.put(msg);
            sendBuf(bbuf);
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.05.2019, 00:45
Помогаю со студенческими работами здесь

При cat не работает <Ctrl + D> !
Здравствуйте, уважаемые форумчане! Если есть время и/или/ не лень, подскажите начинающему... У меня такая ситуация: Ноутбук, ASUS...

Как работает утилита cat?
всем здарсте ) подскажите пожалуйста такую вещь : $cat station tape pens &gt; suppy а потом хочу от этой утилиты следующее $cat&lt;...

Коннекторы RJ-45 Cat 5, Cat 5e, Cat 6
В продаже имеются коннекторы RJ-45 категорий 5, 5е, 6 разница в цене достигает 5 раз. Что в итоге это дает, использование коннекторов более...

Не работает ссылка типа page.php?cat=1&id=2
Доброго всем времени суток! Третий день бьюсь над такой проблемой: В трехуровневом меню, которое выводится при помощи цикла do-while из...

Декодировка md5
Есть код для авторизации &lt;?php include &quot;db.php&quot;; $USERNAME = $_POST; $PASSWORD = md5($_POST); $result =...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru