2016-05-31 2 views
1

Android用グライドライブラリを試してみる。画像をダウンロードしてImageViewに表示する必要があります。 このタイプのURLログインの使い方:Androidでグライドで@ urlを渡しますか?

http: //www.some.domen/storage/images/image.jpg 

すべての通常のロードされている場合。 しかし、あなたは画像がロードされていない

http: // USER: [email protected]/storage/images ...

ので、アクセスログインとパスワードを拒否された場合。 何が問題なのですか?ユーザー名とパスワードを使用して画像をアップロードするにはどうすればよいですか? ありがとうございました!

+0

クロスリンク:https://github.com/bumptech/glide/issues/1579 – TWiStErRob

答えて

1

https://stackoverflow.com/a/5137446/253468に基づいて、私はこれが(未テスト)回避策/解決策になると思う:

LazyHeaders auth = new LazyHeaders.Builder() // can be cached in a field and reused 
     .addHeader("Authorization", new BasicAuthorization(username, password)) 
     .build(); 

Glide 
     .with(context) 
     .load(new GlideUrl(url, auth)) // GlideUrl is created anyway so there's no extra objects allocated 
     .into(imageView); 

public class BasicAuthorization implements LazyHeaderFactory { 
    private final String username; 
    private final String password; 

    public BasicAuthorization(String username, String password) { 
     this.username = username; 
     this.password = password; 
    } 

    @Override public String buildHeader() { 
     return "Basic " + Base64.encodeToString((username + ":" + password).getBytes(), Base64.NO_WRAP); 
    } 
} 
関連する問題