所以我有一个维基共享资源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;
}