Неожиданный код ответа: 403 при вызове изображения в Blackberry - PullRequest
1 голос
/ 16 августа 2011

Сейчас я работаю над загрузкой изображений из Интернета. Для этого я установил http-соединение, как показано ниже.

HttpConnection connection = (HttpConnection) Connector.open(url, Connector.READ_WRITE);
connection.setRequestMethod(HttpConnection.POST);

Я вызываю два изображения из Интернета. Для одного изображения оно успешно отображает изображение. Нона другом изображении показано сообщение об ошибке. Неожиданный код ответа: 403.Я не понимаю, почему возникает эта проблема. Как я могу загрузить изображение с веб-сайта. Есть ли какие-либо изменения в HttpConnection, которые необходимо изменить.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2012

Вы проверяли это на реальном телефоне или просто в эмуляторе?

Если вы используете эмулятор, убедитесь, что вы настроили его для подключения к Интернету, он не будет настроенсделать это по умолчанию.
Эмулятор BlackBerry не подключен к интернету

0 голосов
/ 08 декабря 2011

Используйте эту функцию, так как мы получаем байты из http-соединения, вам нужно преобразовать эти байты в изображение, эта функция сделает это за вас, просто передайте URL-адрес изображения в аргументах:

public static Bitmap connectServerForImage(String url) {
    HttpConnection httpConnection = null;
    DataOutputStream httpDataOutput = null;
    InputStream httpInput = null;
    int rc;
    Bitmap bitmp = null;
    try {
        httpConnection = (HttpConnection) Connector.open(url);
        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);
        int currentWidthFixed32 = Fixed32.toFP(hai.getWidth());
        int currentHeightFixed32 = Fixed32.toFP(hai.getHeight());
        int reqWidth = 48;
        int reqHeight = 35;
        int requiredWidthFixed32 = Fixed32.toFP(reqWidth);
        int requiredHeightFixed32 = Fixed32.toFP(reqHeight);
        int scaleXFixed32 = Fixed32.div(currentWidthFixed32, requiredWidthFixed32);
        int scaleYFixed32 = Fixed32.div(currentHeightFixed32, requiredHeightFixed32);
        hai = hai.scaleImage32(scaleXFixed32, scaleYFixed32);
        return hai.getBitmap();
        } catch (Exception ex) {
            System.out.println("URL Bitmap Error........" +url+ 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;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...