1

我一直在尝试将图像上传到我在本地主机上设置的 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
4

1 回答 1

0

所以我搞砸了另一个以前对我失败的 API,我想出了如何让它工作!这个很方便,我不必处理这类问题。我现在可以用它在一个方法内上传图片了!

如果有人想知道,这是 MER-C 的工作:http ://code.google.com/p/wiki-java

于 2013-06-11T17:25:35.107 回答