1

如果服务器没有返回图像,我想将 imgData 发送为 null。但是使用此代码它永远不会返回 null。当我从服务器发送响应时,我需要检查 HttpResponse 是否包含 null 或图像或错误消息。如果图像存在,则以字节数组的形式发送,如果不存在则为空,如果发生错误,则发送错误消息。

public static byte[] getCommentImage(final int commentId) {
    byte[] imgData = null;
    HttpResponse res= null;
    try {
        res = $.get(COMMENT_IMAGE_URL, new Object[] {"comment_id", commentId });
        HttpEntity resEntity = res.getEntity();
        imgData = EntityUtils.toByteArray(resEntity);
        Log.d("getCommentImage API",imgData+" ");
    } catch (Exception e) {
       e.printStackTrace();
    }
   return imgData;
   }
4

1 回答 1

0

HTTP 响应通常包含声明内容类型的标头。“字符串”(或 HTML 页面)通常是内容类型“text/html”,用于图像“image/jpeg”或“image/png”。

resEntity.getContentType().getValue();

此外,您还有状态/结果代码:

res.getStatusLine().getStatusCode();

我假设结果代码是 != 200 (HTTP_OK),以防你得到一个空值。

于 2013-06-20T11:35:38.993 回答