Android glide和picasso无法通过url加载图片

Android glide和picasso无法通过url加载图片,android,imageview,picasso,android-glide,Android,Imageview,Picasso,Android Glide,我有一个链接 https://www.imdb.com/title/tt0068646/mediaviewer/rm746868224 https://www.imdb.com/title/tt0068646/mediaviewer/rm746868224 我需要下载这张图片,Glide和毕加索都帮不了我。它们都返回错误。我如何使用它们的示例 Glide.with(Objects.requireNonNull(getContext())) .load(

我有一个链接

https://www.imdb.com/title/tt0068646/mediaviewer/rm746868224
https://www.imdb.com/title/tt0068646/mediaviewer/rm746868224
我需要下载这张图片,Glide和毕加索都帮不了我。它们都返回错误。我如何使用它们的示例

        Glide.with(Objects.requireNonNull(getContext()))
            .load(movieDetails.getImage())
            .fitCenter()
            .placeholder(R.drawable.wait_button)
            .error(R.drawable.error_download)
            .into(image);

    Picasso.get()
            .load(movieDetails.getImage())
            .fit()
            .placeholder(R.drawable.wait_button)
            .error(R.drawable.error_download)
            .into(image);
图像-是我的目标图像视图 我做错了什么?还是url中存在问题? 我如何下载这张Glide或毕加索的照片?
我的项目中有另一种类型的url,它们都以…jpg结尾,一切正常

这是您应该尝试的链接 而不是


url不用于下载图像。这不是海报图像的有效url

相反,您需要解析html并获取所需的图像url

在html中,您有以下内容,url位于元标记中

 <meta itemprop="image" content="https://m.media-amazon.com/images/M/MV5BM2MyNjYxNmUtYTAwNi00MTYxLWJmNWYtYzZlODY3ZTk3OTFlXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_QL50_SY500_CR0,0,352,500_AL_.jpg">
使用asynctask doInBackground

  Document document = Jsoup.connect("https://www.imdb.com/title/tt0068646/mediaviewer/rm746868224");
  Element  meta = document.select("meta[itemprop=image]").first()
  String image_url = meta.attr("content")
在星期一

   Glide.with(context).load(url) // url is the one returned in doInbackground
            .override(100, 200) // provide some width and height. glide will automatically scale the image down appropriately
            .into(image);
注意:我猜imdb有api可以获取海报图片,但我认为这是一个付费的许可。对合法性的东西不太确定

类似地,您可以在html下解析其他标记并获得所需信息


我还检查了一个不同的url,比如meta有图像url。因此,这也可以用于其他URL。

我理解你的意思。也许你知道-我怎么能自动收到这个链接?@Kirguduck似乎这个链接不是为了图片。我想是因为图像太大了。您可以通过右键单击browse和inspect元素来获得实际的url。另一种方法是解析url的html并获得所需的海报url,然后glide将加载properly@Kirguduck我发布了一种通过使用jsoup进行html解析来获取海报url的方法。您可以使用jsoup解析html并刮出原始图像链接。thanx!我找过了。但是,通过使用chrome开发者工具检查html,您将这个字符串带到了哪里呢。您还可以通过仅使用url获取内容来尝试在线jsoup
  Document document = Jsoup.connect("https://www.imdb.com/title/tt0068646/mediaviewer/rm746868224");
  Element  meta = document.select("meta[itemprop=image]").first()
  String image_url = meta.attr("content")
   Glide.with(context).load(url) // url is the one returned in doInbackground
            .override(100, 200) // provide some width and height. glide will automatically scale the image down appropriately
            .into(image);