NXから画像アップロードできました

  • 投稿日:
  • by
  • カテゴリ:

 というわけで、SONY CLIe PEG-NX70V + NetFront3.0 からの画像アップロードが成功してしまいました。あんなに悩んでいたのに何故か。その顛末のまとめ。なんか最近Palmのサイトみたいになってきちゃってるけど、大丈夫か、俺。

 さて、「NXから画像がアップロードできない理由、みたいなもの」では偉そうに「MovableTypeをいじくらなきゃダメかも!」なんてのたまったわけですが、大外れ。結果的に、MovableTypeには何ら手を加えていない。
 やぁ、臭いソースを片っ端から洗ってみたんだけど、洗ってもぼんやりとしか分かんないくらいのPerlの知識しか持ってないんだけど、それでも何度も何度も洗い直しているうちに、どうやら「ファイル名の拡張子からファイルのタイプを推測しているであろう箇所」に辿り着いた。どういう流れで、どこからこの処理に到達するのかは分からないけれど、NXのNetFrontから送られるContentTypeが不正なものであれば、ここを通過する可能性はある。だいたい、わざわざこんな機能を組み込んでいることを考えれば、十中八九通過すると考えて良いだろう。
 するってーと、MovableType側に手を入れる必要は無いのかもしれない。ファイル名の拡張子からファイルタイプを取得しようとし、それに失敗しているのだとすれば、ファイル名の送信に失敗しているのかもしれない。何らかの理由で。
 とりあえず、もう一度送信テストをしてみることにした。JPG、JPEG、jpg、jpegのすべての拡張子を試してみたけれど、やっぱりダメ。Jpegの拡張子に他の組合せは無いよなぁなどと途方に暮れる寸前、ふと、あることに気が付いた。

「メモリースティックの名前が日本語だ。」

 俺はメモリースティックに、「めも助1号」と名付けて可愛がっていた。ちなみに2号はいない。予算の関係だ。
 これがいけないのかもしれない。送信ファイルへのパスに2バイト文字が含まれていることで、NetFrontはファイル名を正確に送信できていないんじゃないか。早速俺は、愛しい「めも助1号」を「MS1」というクソ面白くない無味乾燥な名前に改名し、PowerRUNのショートカットも作り直し(これは画像送信とは関係ない)、再度送信テストに臨んだ。

 ビンゴ。

 散々悩んでいた画像ファイルの送信が、あっさりと成功した。ただし、送信成功後に「新しいEntryを作る」を選択してボタンをタップしても、何も起きない。親ウィンドウが無く、JavaScriptがエラーを起こす。「HTMLを表示」を選択して、表示されたHTMLをコピー、改めてEntryを作成する必要が有る。

 なんだかなぁ。なんかちょっとっていうかかなり手間がかかっちゃうような気がするけれど。とりあえず、俺がNXに最も期待していた用途が、これで実現可能になったわけだ。
 今後はバシバシ画像をアップしたい。くだらないのを。重くなりすぎない程度に。