在我的网站上使用维基媒体图像



所以我有一个维基共享资源URL(它实际上只是实际图像的包装器),如下所示:https://commons.wikimedia.org/wiki/File:Nine_inch_nails_-_Staples_Center_-11-8-13(10755555065_16053de956_o).jpg

如果我转到该页面,我可以看到实际图像位于:https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/Nine_inch_nails_-_Staples_Center_-11-8-13%2810755555065_16053de956_o%29.jpg/800px-Nine_inch_nails_-_Staples_Center_-11-8-13%2810755555065_16053de956_o%29.jpg

我想获取实际文件,以便我可以在<img>标签中使用它。

我怀疑他们会给你一个 url 参数来返回位置,但我找不到任何关于它的信息。

提前谢谢。

编辑:

我想我在这里找到了答案:https://commons.wikimedia.org/wiki/Commons:FAQ#What_are_the_strangely_named_components_in_file_paths.3F

上传中的奇怪路径是来自文件名的 MD5 哈希的字母。

想通了,这是我写的一个小java来正确做到这一点:

public static String convertWikimediaCommonsURLToImageUrl(String wmLink) {  
    String fileName = wmLink.split("File:")[1];
    String md5 = Hashing.md5().hashString(fileName, Charsets.UTF_8).toString();
    String weirdPathString = md5.substring(0, 1) + "/" + md5.substring(0, 2) + "/";
    String imageURL = "https://upload.wikimedia.org/wikipedia/commons/" + weirdPathString + 
            fileName;
    return imageURL;
}

相关内容

  • 没有找到相关文章

最新更新