如何使用jwbf上传文件?

时间:2013-06-11 14:13:04

标签: java api mediawiki bots

我一直在尝试将图片上传到我在localhost上设置的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

1 个答案:

答案 0 :(得分:0)

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

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