3

我需要为远程主机上的某些图像指定一个特定的引用者才能成功加载。(例如,referrer 需要是“ http://www.example.com ”,否则网络服务器会返回 HTTP 403)

AQuery 在他们的 wiki 上有一个关于为 ajax 调用指定 HTTP 标头的部分,但我似乎无法拼凑出如何为简单的异步图像调用执行此操作。

https://code.google.com/p/android-query/wiki/AsyncAPI#Http_Headers

例如,下面是用于在网络上显示图像的普通 AQuery 代码:

new AQuery(submodelPhoto).image(MyApplication.MEDIA_BASE_URL + getItem(position), true, true, 0, R.drawable.default_image);

我将如何为此调用指定 HTTP 引荐来源网址?是否可以设置 AQuery 在我的应用程序初始化期间为每次调用执行此操作?(这样每次我尝试加载图像时都不必重复)

4

1 回答 1

4

经过一番挖掘(以及更多阅读BitmapAjaxCallback)我想出了这个解决方案:

BitmapAjaxCallback cb = new BitmapAjaxCallback();
cb.header("Referer", "http://www.example.com");
cb.url(MyApplication.MEDIA_BASE_URL + getItem(position)).fallback(R.drawable. default_image).memCache(true).fileCache(true);
new AQuery(submodelPhoto).image(cb);

似乎可行,只是希望我能找到一种方法,为每个请求设置 AQuery 的引用者。

于 2013-06-20T17:22:55.033 回答