-1

在将图像发送到 Java 服务器时,我得到了标题中的异常

这是代码:

       ByteArrayOutputStream stream = new ByteArrayOutputStream();
       img.compress(Bitmap.CompressFormat.PNG, 100, stream);
       byte[] byteArray = stream.toByteArray();

       String imageDataString = new String(Base64.encodeBase64(byteArray)); 
       System.out.println(imageDataString);

       dataOutputStream.writeUTF(imageDataString);
       dataOutputStream.flush();

img位图文件在哪里。

任何帮助将不胜感激!

4

1 回答 1

1

@Sarram 按照打击链接中的代码,我在soap请求中发送图像以及base64String形式的其他数据,我正在将其转换为文件

blow 是代码的参考

将解码后的 base64 字节数组写入图像文件

我正在使用这个很酷的解码器import sun.misc.BASE64Decoder; 服务器端可以这样做

        String filePath = "/destination/temp/file_name.jpg";
        File imageFile = new File(filePath);
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(imageFile);//create file
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }
        BASE64Decoder decoder = new BASE64Decoder();//create decodeer object
        byte[] decodedBytes = null;
        try {
            decodedBytes = decoder.decodeBuffer(imageFileBase64);//decode base64 string that you are sending from clinet side 
        } catch (IOException e1) {
            e1.printStackTrace();
        }
        try {
            fos.write(decodedBytes);//write the decoded string on file and you have ur image at server side
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            fos.flush();
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
于 2012-12-09T11:25:36.540 回答