Мне нужно отправить изображение в Android, выбранный пользователем на сервлет.У меня уже есть выбранный путь к изображениям в переменной selectedImagePath
.Теперь мне нужно отправить это изображение вместе с другой информацией на сервер.Я сделал следующее:
Bitmap image = BitmapFactory.decodeFile(selectedImagePath);
int height = image.getHeight();
int width = image.getWidth();
int[] pixels = new int[width * height];
image.getPixels(pixels, 0, width, 0, 0, width, height);
Моя идея состоит в том, чтобы отправить значения цвета в массиве pixel
в виде строки через запятую через XML.Я думаю, что Integer.toHexString
будет полезным.Например:
<width>300</width>
<height>400</height>
<data>0xffffff,0xff00ff,0xffff00,...</data>
На стороне сервера декодируйте значения цвета и создайте BufferedImage
, а затем сохраните его в файловой системе, используя ImageIO.write
.
Теперь мой вопрос:
- Это правильный способ сделать это?
- Есть ли какой-нибудь другой лучший и эффективный способ сделать это?*