毕加索的新手。我尝试使用Picasso将存储在AWS(特别是S3)上的图像加载到我的Android应用程序中但是我一直在我的logcat中得到一个没有错误的空白图像,并且通过相关代码行的一般调试对我来说没有什么明显的
图片存储在处于开发模式且当前公开的AWS上,因此它不应该是登录等问题。我的清单中也启用了互联网权限。
当我在互联网上保存随机图像链接时,代码确实有效,但我注意到当我使用浏览器转到这些链接时,它会打开一个只显示该图像的页面。但是,S3上的数据库设置为自动下载文件而不是显示这样的页面。也许这就是我问题的原因?
以下是我的代码的两个版本,两者都没有适用于我在AWS上的图像(请注意我用AWSLink将我的真实链接替换为AWS,但我的实际代码使用真实链接):
版本1
mApartmentImageView = (ImageView) v.findViewById(R.id.details_page_apartment_picture);
Picasso.with(getActivity()).load("//AWSLink.jpg").into(mApartmentImageView);
版本2(尝试考虑自动下载文件)
mApartmentImageView = (ImageView) v.findViewById(R.id.details_page_apartment_picture);
String path = "//AWSLink.jpg";
Picasso.with(getActivity()).load(new File(path)).into(mApartmentImageView);
答案 0 :(得分:0)
String path =“//AWSLink.jpg”; 路径不是有效路径,请使用适当的路径并检查
毕加索有回调,使用它们并检查。
Picasso.with(getActivity()).load(new File(path)).into(mApartmentImageView, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
}
});
在此之前,传递正确的文件路径。尝试在浏览器中点击文件路径,如果路径正在提供图像,则将其用作加载方法
中的参数Picasso picasso = new Picasso.Builder(getContext())
.listener(new Picasso.Listener() {
@Override
public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) {
//Here your log
}
})
.build(); picasso.load(new File(path)).into(mApartmentImageView);