Android通用图像加载器如何使用私钥/公钥获取图像

3

我正在使用Universal Image loader从服务器加载图像。但需要将私钥和公钥与图像URL一起发送才能从服务器获取图像。如何将私钥/公钥与URL一起发送以获取图像?或者如何在使用Universal Image Loader库时在GET调用中发送参数?目前,我没有使用任何参数进行操作,这样可以正常工作。

//ImageLoader
ImageLoader imageLoader = ImageLoader.getInstance();
DisplayImageOptions displayImageOptions;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_dashboard);
    uInit();

    //ImageLoader Initialization
    imageLoader.init(ImageLoaderConfiguration.createDefault(mContext)); 
    imageLoader = ImageLoader.getInstance();
    displayImageOptions = new DisplayImageOptions.Builder() 
    .cacheInMemory(true)
    .considerExifParams(true)
    .bitmapConfig(Bitmap.Config.RGB_565)
    .build();           

    String imgUrl = Commons.CURRENT_ACTIVE_PROFILE.getPhoto();
    imgUrl = Urls.base_url_without_app_keyword + imgUrl;        
    if(imgUrl!=null && !imgUrl.isEmpty())
        loadUserProfileImage(imgUrl); 

}

private void loadUserProfileImage(String imgUrl) {  
    // TODO Auto-generated method stub
    imageLoader.displayImage(imgUrl, userProfileImg, displayImageOptions, new SimpleImageLoadingListener() 
    { 
         @Override
         public void onLoadingStarted(String imageUri, View view) {

         }

         @Override
         public void onLoadingFailed(String imageUri, View view,
                 FailReason failReason) {

         }

         @Override
         public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {


         }
     }, new ImageLoadingProgressListener() 
     {
         @Override
         public void onProgressUpdate(String imageUri, View view, int current,
                 int total) {
         }
     });
}

你能否发布一个来自上面代码的示例URL? - Rod_Algonquin
这是公钥 =“5c5c3fb9285408a849c6189d01ae9b”和私钥 =“0dc107e69b”。 我可以通过使用HttpConnection GET方法并将这些密钥作为参数来获得此图像,但我不知道在使用ImageLoader库获取图像时如何发送这些密钥。 - Nouman Bhatti
你能否也发布一下你编写的HttpConnection代码? - Rod_Algonquin
DefaultHttpClient client = new DefaultHttpClient();
client.getCredentialsProvider().setCredentials(new AuthScope(null, -1),new UsernamePasswordCredentials(ProfileKey, ProfileSecret)); HttpGet request = new HttpGet(); request.addHeader("Accept", "application/xml"); request.setURI(new URI(url)); HttpResponse response = client.execute(request);
- Nouman Bhatti
抱歉,上述URL图像可能已从服务器端删除。这是有效的URL:http://www.expecting-your-call.com/app/file/5/aba2663246fa360654123b6ab691d6e7/5c5c3fb9285408a849c6189d01ae9b.jpg - Nouman Bhatti
1个回答

2
您可以使用“下载器的额外内容”来实现此目的,并在标头中传递密钥。
Map<String, String> headers = ...
 DisplayImageOptions options = new DisplayImageOptions.Builder()
    ...
    .extraForDownloader(headers)
    ...
    .build();

然后创建自己的ImageDownloader来处理这些头文件:

请参考此链接:https://github.com/nostra13/Android-Universal-Image-Loader/issues/340

希望能对你有所帮助...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接