Blackberry将Base64数据转换为显示IOException的字节数组

时间:2012-10-11 07:15:29

标签: blackberry

我开发了以下代码将base64字符串数据转换为字节数组,但它显示IOException

public static EncodedImage getProfileByteArray(String profilePic){
    byte[] data=profilePic.getBytes();
    byte[] base64Data;
    Bitmap bitmap=null;
    EncodedImage fullImage=null;
    try {
        base64Data = Base64InputStream.decode(data, 0, data.length);
        fullImage = EncodedImage.createEncodedImage(base64Data, 0, base64Data.length);
        bitmap = fullImage.getBitmap();
        System.out.println(data);
    } catch (IOException e) {
        e.printStackTrace();
        System.out.println(e+"lkllllllllllllllll");
    }
    catch(Exception e){
        System.out.println(e+"lkllllllllllllllll");
    }
    return fullImage;
}

方式是我调用一个web服务,我通过它获取base64图像字符串并尝试将此base64字符串转换为字节数组以EncodedImage格式显示图像。

1 个答案:

答案 0 :(得分:0)

您是否尝试显示从网络服务获取的网址中的图片?网址是从网络服务返回的图片?如果是这样,请尝试以下代码并告诉我:

public Bitmap connectServerForImage(String url) {

          HttpConnection httpConnection = null;
          DataOutputStream httpDataOutput = null;
          InputStream httpInput = null;
          int rc;

          Bitmap bitmp = null;
          try {
           httpConnection = (HttpConnection) Connector.open(url+ ";deviceside=true;ConnectionUID=S TCP");
            rc = httpConnection.getResponseCode();
           if (rc != HttpConnection.HTTP_OK) {
            throw new IOException("HTTP response code: " + rc);
           }
           httpInput = httpConnection.openInputStream();
           InputStream inp = httpInput;
           byte[] b = IOUtilities.streamToBytes(inp);
           EncodedImage hai = EncodedImage.createEncodedImage(b, 0, b.length);
           return hai.getBitmap();

          } catch (Exception ex) {
           System.out.println("URL Bitmap Error........" + ex.getMessage());
          } finally {
           try {
            if (httpInput != null)
             httpInput.close();
            if (httpDataOutput != null)
             httpDataOutput.close();
            if (httpConnection != null)
             httpConnection.close();
           } catch (Exception e) {
            e.printStackTrace();

           }
          }
          return bitmp;
         }