web-dev-qa-db-ja.com

グライドがリソースの読み込みに失敗しました

glideを使用してサーバーから画像をロードしたいときに問題が発生します

これは私のコードです

Glide.with(ImagePreviewActivity.this).load(path).into(img);

そしてこれはlogcatです:

W/Glide: Load failed for 
http://localhost/AndroidFileUpload/file/IMG_20171128_153602.JPEG with size 
[720x1120]
                                                    class 
com.bumptech.glide.load.engine.GlideException: Failed to load resource
                                                      Cause (1 of 1): class 
com.bumptech.glide.load.engine.GlideException: Fetching data failed, class 
Java.io.InputStream, REMOTE
                                                        Cause (1 of 1): 
class com.bumptech.glide.load.engine.GlideException: Fetch failed
                                                          Cause (1 of 1): 
class Java.net.ConnectException: failed to connect to localhost/127.0.0.1 
(port 80) after 2500ms: isConnected failed: ECONNREFUSED (Connection refused)

この問題を解決する方法は?任意の提案をいただければ幸いです。

3
Prasetyo

ログからこの行を確認してください

クラスJava.net.ConnectException:localhost /127.0.0.1への接続に失敗しました

これは、イメージパスがローカルホスト上にあることを意味します。デバイスからローカルホストにアクセスできません。それは問題を引き起こすかもしれません。そのため、グライドは画像の読み込みに失敗しました。

2
Samir Bhatt
 - Glide.with(context)
                       .load(Zonelist.get(position)
                               .getZone_picture_url_3x()).apply(options).listener(new
   RequestListener<Drawable>() {
                   @Override
                   public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                       new Handler().post(new Runnable() {
                           @Override
                           public void run() {
                               Glide.with(context)
                                       .load(Zonelist.get(position)
                                               .getZone_picture_url_3x())
                                       .into(imageView);
                           }

                       });
                       return false;
                   }

                   @Override
                   public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean
   isFirstResource) {
                       return false;
                   }
               }).into(imageView);
           }
1