1

サーバーが画像を返さない場合は、imgData を null として送信したいのですが、このコードでは null を返すことはありません。サーバーからの応答を送信するときに、HttpResponse に null、画像、またはエラー メッセージが含まれているかどうかを確認する必要があります。イメージが存在する場合はバイト配列の形式で送信され、存在しない場合は 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();

null 値を取得した場合の結果コードは != 200 (HTTP_OK) であると仮定します。

于 2013-06-20T11:35:38.993 に答える