2017-09-19 48 views
0

我正在使用Fresco库在我的Android应用程序中显示图像。我想展示一些我用公共资助设置的图像(JPG或PNG)。在Android中显示驱动器中的图像

当我做快速测试时,我只是从互联网上的任何图像设置一个URL,但使用真正的,我需要使用的,我有以下网址https://drive.google.com/uc?export=view&id= <>,但因为它是一个重定向并且一旦重定向,新的url不是图像本身,Fresco无法显示它。

我曾尝试毕加索作为替代图书馆,但没有取得任何成功。

我也尝试了这两个库的下载网址(https://drive.google.com/uc?export=download&id= <>)。但没有结果。

任何人都知道如何才能得到这个图像?或者唯一的解决办法是下载它(使用第二个网址)处理对象收到商店的位图并显示它?

要下载它,我应该如何使用以及如何使用?改造?

在此先感谢。

回答

0

我找到了一个解决这个问题(但如果你使用谷歌云或谷歌脚本可能只适用)。

它由上用下面的代码中创建的doGet()服务:

var file = DriveApp.getFileById(fileId) 
return Utilities.base64Encode(file.getBlob().getBytes()); 

并使用你的应用程序,BASE64值。有了这种格式,Fresco可以做到这一点

这不是一个直接的解决方案,并且需要在其他平台上做一些不是你的Android应用程序的工作,但它完美地工作。

0

您确定您的网址没有问题吗? 毕加索的作品中包含的网址直接:https://kudago.com/media/images/place/06/66/06662fda6309ce1ee9116d13bd1c66d5.jpg

然后你就可以下载你的形象,如:

     Picasso.with(this) 
          .load(url) 
          .noFade() 
          .placeholder(R.drawable.placeholder_grey) //if you want to use a stub 
          .into(imageView, new com.squareup.picasso.Callback() { 
           @Override 
           public void onSuccess() { 
            //here you can operate with image after it is downloaded 
           } 

           @Override 
           public void onError() { 

           } 
          }); 

希望它会帮助你。

+0

网址没有问题,问题是,当您将图片上传到Google云端硬盘时,它不会为您的图片提供直接网址,因此它不是直接访问。我发布了下面解决方案,我发现这个问题(虽然它需要一些行动扔Google脚本......但一个可行的解决方法) –