#post #java-me #rms
#Публикация #java-me #rms
Вопрос:
Я хочу отправить изображение, хранящееся в RMS, на сервер. Для этого я сохранил захваченное изображение в RMS. Я могу получить к нему успешный доступ и могу показать его на устройстве, но когда я отправлял его на сервер, в это время на сервере отображается только имя изображения, но изображение не генерируется.
вот код строки, который я пытаюсь использовать
byte[] byteArrRec = LoadImagesFromRMS.objImageRecordStore.getRecord(recID);
ByteArrayInputStream bin = new ByteArrayInputStream(byteArrRec);
DataInputStream din = new DataInputStream(bin);
int width = din.readInt();
int height = din.readInt();
int length = din.readInt();
int[] rawImg = new int[width * height];
for (int itemp = 0; itemp < length; itemp ) {
rawImg[itemp] = din.readInt();
}
Image tempImage = Image.createRGBImage(rawImg, width, height, false);
byteArr = get_Byte_Array(tempImage);
byteArr = get_Byte_Array(tempImage);
Затем я передал ByteArray с помощью метода post через сервер.
Но изображение не было сгенерировано, кто-нибудь имел об этом представление?
Ответ №1:
- Сначала нужно прочитать все байты из ответа и сохранить в одной переменной (
bytearray
) массива байтов. Затем после этого напишите этот код -
Создайте a
ByteArrayInputStream
из своего массива байтов, а затем используйтеImageIO
class для чтения изображения из этого потока.InputStream in = new ByteArrayInputStream(bytearray);
BufferedImage image = ImageIO.read(in);
Спасибо
Ответ №2:
вам необходимо создать HttpConnection
с удаленным сервером, после создания соединения создайте DataOutputStream
переменную, связанную с HttpConnection
переменной. Теперь запишите массив байтов в эту DataOutputStream
переменную и отправьте его как "POST"
метод. Если размер байтового массива очень большой, попробуйте отправить его частями..
Комментарии:
1. Я уже создал HttpConnection с удаленным сервером и могу успешно отправлять данные через сервер. Данные с изображением, которые я пытаюсь отправить через сервер с помощью метода post, отображаются правильно, но только изображение не формируется.