从 Picasso 重定向 URL
Get redirected URL from Picasso
我正在使用以下代码获取图像:
Picasso.with(mContext)
.load(myImage.getUrl())
.fetch();
myImage.getUrl()
returns 来自我的服务器的 URL,它将重定向到另一台服务器上托管的实际图像。有没有办法把 URL 我的服务器 returns 抓到毕加索?我知道我可以在 .fetch()
中使用 Callback
,但我只知道这些。我也在用 OkHttp。
OkHttp 允许您不自动跟随重定向:
OkHttpClient client = new OkHttpClient();
client.setFollowRedirects(false);
您可以阅读响应,获取重定向 URL,然后手动将其转发给 Picasso。
编辑:
Interceptor
也是可行的:
OkHttpClient client = new OkHttpClient();
client.interceptors().add(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
// process response here
return response;
}
});
我用这段代码修复了它。
val downloader = OkHttp3Downloader(context)
Picasso.Builder(context).downloader(downloader).build()
检查这里的详细信息。
https://github.com/square/picasso/issues/463
添加okhttp依赖
compile 'com.squareup.okhttp:okhttp:2.5.0'
并尝试此代码
Picasso.Builder builder = new Picasso.Builder(context);
builder.downloader(new OkHttpDownloader(context));
builder.build()
.load(path.trim())
.into(imageView);
这段代码对我有用
我正在使用以下代码获取图像:
Picasso.with(mContext)
.load(myImage.getUrl())
.fetch();
myImage.getUrl()
returns 来自我的服务器的 URL,它将重定向到另一台服务器上托管的实际图像。有没有办法把 URL 我的服务器 returns 抓到毕加索?我知道我可以在 .fetch()
中使用 Callback
,但我只知道这些。我也在用 OkHttp。
OkHttp 允许您不自动跟随重定向:
OkHttpClient client = new OkHttpClient();
client.setFollowRedirects(false);
您可以阅读响应,获取重定向 URL,然后手动将其转发给 Picasso。
编辑:
Interceptor
也是可行的:
OkHttpClient client = new OkHttpClient();
client.interceptors().add(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
// process response here
return response;
}
});
我用这段代码修复了它。
val downloader = OkHttp3Downloader(context)
Picasso.Builder(context).downloader(downloader).build()
检查这里的详细信息。 https://github.com/square/picasso/issues/463
添加okhttp依赖
compile 'com.squareup.okhttp:okhttp:2.5.0'
并尝试此代码
Picasso.Builder builder = new Picasso.Builder(context);
builder.downloader(new OkHttpDownloader(context));
builder.build()
.load(path.trim())
.into(imageView);
这段代码对我有用