1

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);

次に、サーバー上で post メソッドを使用して byteArray を渡しました。
しかし、画像は生成されていません。これについて何か考えがありましたか?

4

2 に答える 2

0
  1. まず、応答からすべてのバイトを読み取りbytearray、バイト配列の1つの変数()に格納する必要があります。その後、このコードを書きます
  2. ByteArrayInputStreamバイト配列からを作成し、ImageIOクラスを使用してそのストリームから画像を読み取ります。

    InputStream in = new ByteArrayInputStream(bytearray);

    BufferedImage image = ImageIO.read(in);
    

ありがとう

于 2011-10-17T06:23:37.380 に答える
0

HttpConnectionリモートサーバーで作成する必要があります。接続を作成した後、DataOutputStream変数に関連付けられた変数を作成しHttpConnectionます。DataOutputStreamその変数にバイト配列を書き込み、"POST"メソッドとして送信します。バイト配列のサイズが非常に大きい場合は、チャンクで送信してみてください..

于 2011-11-03T07:34:58.423 に答える