【问题标题】:Possible to load image/png data after link redirect?链接重定向后可以加载图像/png数据吗?
【发布时间】:2014-11-05 08:27:15
【问题描述】:

我有这个问题...我正在开发一个从 JSON 文件加载名称的项目(这并不重要)。

问题是我使用 Wikia Special:Filepath 链接来获取我的图像。因此,当我在浏览器中输入:http://2007.runescape.wikia.com/wiki/Special:Filepath/Abyssal_head.png 时,它会返回此图片链接:http://img1.wikia.nocookie.net/__cb20140108135954/2007scape/images/0/0f/Abyssal_head.png

有没有办法解决这个重定向,以便我可以通过 ajax 调用正确加载它? 每当我尝试执行第一个链接时,我都会收到此错误(这是正常的,因为它找不到我认为的正确标题):

XMLHttpRequest cannot load http://2007.runescape.wikia.com/wiki/Special:Filepath/Abyssal_head.png. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 

欢迎所有帮助。

【问题讨论】:

  • 你到底想做什么?
  • 查看图片可以直接在标签中给出链接。像这样 2007.runescape.wikia.com/wiki/Special:Filepath/Abyssal_head.png" /> 所以你不用担心重定向。图像将显示
  • 嗨Shabeer!是的,我知道这行得通,但它困扰着我。我想加载所有图像,将它们放在数组或对象中,并在加载所有图像时显示它们。有我的问题

标签: javascript wikia


【解决方案1】:

Special:Filepath 对于从 wiki 中链接到文件很有用,但如果您想以编程方式获取路径,使用 API 将为您提供更多的灵活性。要获取文件路径,只需使用prop=imageinfoiiprop=url 参数,如this

api.php?action=query &titles=Image:Abyssal_head.png &prop=imageinfo &iiprop=url &format=json

这会给你一个像这样的 json 对象

{"query": {
    "normalized":...,
    "pages":{
        "28052":{
            "pageid":28052,
            "ns":6,
            "title":"File:Abyssal head.png",
            "imagerepository":"local",
            "imageinfo":[
                {
                    "url":"http:\/\/img1.wikia.nocookie.net\/__cb20140108135954\/2007scape\/images\/0\/0f\/Abyssal_head.png",
                    "descriptionurl":"http:\/\/2007.runescape.wikia.com\/wiki\/File:Abyssal_head.png"
                }
            ]
        }
    }
}}

...在query.pages.{PAGE}.imageinfo.url中使用您想要的网址

您可以查询多个文件,用|分隔它们的标题。

有关完整文档,请参阅 2007.runescape.wikia.com/api.php

【讨论】:

  • 谢谢你!这真的很有用!现在我可以在屏幕上显示之前加载所有图像!
猜你喜欢
  • 2015-02-08
  • 2023-03-10
  • 2015-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多