ローカルホストに設定された 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