« metaWeblog.newMediaObject の問題点 | トップページ | ココログで Atom API を使ってみる »
2004.04.26
metaWeblog.newMediaObject の裏技
metaWeblog.newMediaObject は、 アップロード対象のファイルを base64 エンコードしてからアップロードする訳ですが、 アップロードしようとしているファイルがテキストファイルの場合は、base64 エンコードせず、 そのままアップロードすることも可能です(ただし、Movable Type 2.661 でのみ確認。 おそらく Movable Type 以外では使えないと思われます)。
通常、metaWeblog.newMediaObject は、以下のような request をサーバに送信することで、ファイルのアップロードを行ないます。
<methodCall>
<methodName>metaWeblog.newMediaObject</methodName>
<params>
<param><value><string>blogID</string></value></param>
<param><value><string>ユーザ名</string></value></param>
<param><value><string>パスワード</string></value></param>
<param>
<value>
<struct>
<member><name>bits</name>
<value><base64>ファイルの中身をbase64エンコードしたもの</base64></value>
</member>
<member><name>name</name>
<value><string>ファイル名</string></value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
今回、紹介する裏技(?)です。
アップロードしようとしているファイルがテキストファイルであることがわかっている場合、
以下のような request を送信することで、サーバにファイルをアップロードすることができます。
<methodCall>
<methodName>metaWeblog.newMediaObject</methodName>
<params>
<param><value><string>blogID</string></value></param>
<param><value><string>ユーザ名</string></value></param>
<param><value><string>パスワード</string></value></param>
<param>
<value>
<struct>
<member><name>bits</name>
<value><string>ファイルの中身そのまま</string></value>
</member>
<member><name>name</name>
<value><string>ファイル名</string></value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
要するに、base64 じゃなく、string にしてしまう訳です。 TypePad 系でも使えるかもしれませんね。
*** 2004年4月26日 14時6分 追記 ***
さらにいろんなテキストファイルで試してみたら、うまくアップロードできませんでした (^^;
(正確には、サーバにファイルの中身自体は転送できるんだけど、ファイルを作ってくれない)。
ということで、この裏技は、使わない方がいいようです。この件はなかったことにしてください。_o_
投稿者: tsupo 2004.04.26 午後 01:09
| 固定リンク
|
|
| ![]()
|
|
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
この記事へのトラックバック一覧です: metaWeblog.newMediaObject の裏技:



