我一直在尝试将图像上传到我在本地主机上设置的 MediaWiki (v 1.19)。XAMPP 和其他一切都已设置并正常工作。我可以使用 API 执行其他操作。
但是我没有使用任何 FileUpload/Post 类。由于文档中几乎没有关于如何执行此任务的单一解释,因此我一直在尝试几件事,所以这是我的代码:
//The bot i'm using. Works fine for other purposes.
MediaWikiBot b = new MediaWikiBot("http://localhost/");
b.login("Bot", "password");
//The file I want to upload
File f = new File("/home/op/Necro MP FILES/NPC/GIF/Air Screamer.gif");
SimpleFile sf = new SimpleFile(f.getName(), f);
但我被困在那里。我找不到可以用来实际上传文件的单一方法。我试过使用 FileUpload 但我不能用它做任何事情。
FileUpload fu = new FileUpload(sf, b);
它只是为我构建了一个 ContentProcessable 对象,如果这可行,那就太棒了:
b.performAction(fu);
但没有运气。我已经用完了要测试的东西。我尝试使用 HttpBot 和 HttpActionClient 执行非常相似的例程,两者都应该工作,但结果相同。
有没有人有经验,可以指出我缺少什么?我必须上传大约 1500 张图片,这不是我要手动完成的任务。
jwbf 的完整参考资料在这里:http: //jwbf.sourceforge.net/tests/
这是上面代码产生的日志:
16:07:30.837 [main] DEBUG n.s.j.core.actions.HttpActionClient - /index.php?title=Air+Screamer.gif&action=edit&dontcountme=s
16:07:30.838 [main] DEBUG n.s.j.core.actions.HttpActionClient - message (GET FileUpload) is:
hostPath : http://localhost
queryPath: /index.php?title=Air+Screamer.gif&action=edit&dontcountme=s
16:07:31.423 [main] INFO n.s.j.m.actions.editing.FileUpload - WRITE: Air Screamer.gif
16:07:31.424 [main] DEBUG n.s.j.core.actions.HttpActionClient - /index.php?title=Special:Upload
16:07:31.426 [main] DEBUG n.s.j.core.actions.HttpActionClient - message (POST FileUpload) [continuing req] is:
hostPath : http://localhost
queryPath: /index.php?title=Special:Upload