2015-11-03 2 views
0

Im пытается загрузить изображение с URL-адреса на мой Android-образ. но он не дает изображения для моего URL-адреса. но когда я называю еще один пример URL загружает на ImageViewURL-адрес изображения не будет установлен на ImageView Android

Мой URL, который дает пустые

https://192.168.100.15/HeyVoteWeb/Home/GetImage/d9cbd32c-47fc-4644-ab97-1f525c96e9ed/100000102 

Этот образец URL работает для меня

https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png 

Это код, который я я работаю на

public class GetImage extends Activity{ 
ImageView postpic1; 
Bitmap b; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.all_posts); 
    postpic1 = (ImageView) findViewById(R.id.postpic1); 
    information info = new information(); 
    info.execute(""); 
} 
public class information extends AsyncTask<String, String, String> 
{ 
    @Override 
    protected String doInBackground(String... arg0) { 
     try 
     { 
      URL url = new URL("https://localhost/HeyVoteWeb/Home/GetImage/d9cbd32c-47fc-4644-ab97-1f525c96e9ed/100000102"); 
      InputStream is = new BufferedInputStream(url.openStream()); 
      b = BitmapFactory.decodeStream(is); 
     } catch(Exception e){} 
     return null; 
    } 
    @Override 
    protected void onPostExecute(String result) { 
     postpic1.setImageBitmap(b); 

    } 
} 
} 

ответ

1

Просто используйте библиотеки загрузки изображений и кеширования. К примеру Picasso

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView); 

Альтернативное решение Glide; Он имеет такой же рабочий principleIt имеет аналогичный принцип работы:

Glide.with(this).load("http://goo.gl/gEgYUd").into(imageView); 
1

У вас есть локальный веб-сервер работает, который поддерживает HTTPS? Потому что именно здесь вы пытаетесь загрузить изображение.

Кроме того, если у вас есть, вы получаете изображение, когда вы вызываете нужный URL в своем браузере?

+0

это URL 'https: // 192.168.100.15/HeyVoteWeb/Главная/GetImage/d9cbd32c-47fc-4644-ab97-1f525c96e9ed/100000102' – Naz141

+0

Да, я видел. Это вызов локального веб-сервера HTTPS, так что у вас есть один запуск? Если нет, этот URL-адрес никогда не даст вам изображения. Это вызывает компьютер/устройство, на котором вы запускаете это, ** не ** на случайное изображение в Интернете (только для уточнения). – LilaQ

+0

да запустите этот URL-адрес в своем браузере – Naz141

5

URL-адрес вашего изображения - localhost. Localhost (127.0.0.1) относится к той же машине, что и инициация запроса. Таким образом, ваш телефон отправляет запрос самому себе. Вместо этого укажите IP-адрес вашего компьютера, на котором работает сервер.

PS: Убедитесь, что ваш компьютер и телефон подключены к одной сети.

+0

@ Naz141: Если этот ответ помогает, можете ли вы пометить как принятый? – Srinivas

+0

Я использую IP-адрес, который можно увидеть в моем отредактированном вопросе – Naz141

+0

@ Naz141: Вы настроили SSL на своем сервере? – Srinivas

2

Я думаю, что ваша проблема в вашем URL-адресе, замените ваш localhost на ваш IP-адрес, надеясь, что он решит вашу проблему.

0

Вы пробовали с помощью Picasso библиотеки очень легко и эффективно:

  1. Перейти к вам build.gradle внутри приложения директории и добавить к зависимостям:

    compile 'com.squareup.picasso:picasso:2.5.2'

  2. Затем используйте Picasso Lib :

    String url = "https://localhost/HeyVoteWeb/Home/GetImage/d9cbd32c-47fc-4644-ab97-1f525c96e9ed/100000102"; 
    

    Picasso.with(context) //The context of your activity .load(url) .into(postpic1);

+0

, когда я устанавливаю свой нижний URL-адрес, он не загружает изображение. но он работает для всех других изображений URL 'https: // 192.168.100.15/HeyVoteWeb/Главная/GetImage/d9cbd32c-47fc-4644-ab97-1f525c96e9ed/100000102' – Naz141

+0

мое изображение url work i my browser. изображение загружается автоматически, когда я запускаю URL-адрес в браузере – Naz141

+0

@ Naz141, тогда это проблема, с которой вы должны использовать ссылку на img напрямую, а не ссылку для загрузки img, это две разные ссылки с 2 различными функциями – commonSenseCode

Смежные вопросы