最近、このブログに検索でおいでになる方のうち、movable type API について調べている方が多いので、それに関連する技術として、まだ誰もネット上で公開していない metaWeblog.newMediaObject について、完成系に近い ASP ソースコードを公開します。
API の中では最も難しい部分なので、参考にして頂ければ writer の普及に貢献できるかと思います。
Const adTypeText = 2
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2, adSaveCreateNotExist = 1
'
' Base64
'
Set DomFile=CreateObject("Microsoft.XMLDOM")
Set TmpFile=DomFile.createElement("tmp")
TmpFile.DataType="bin.base64"
TmpFile.Text=FILEBITS
Bin=TmpFile.NodeTypedValue
'
' Imageとして保存
'
Set writeStream=CreateObject("ADODB.Stream")
writeStream.Open
writeStream.Type=adTypeBinary
writeStream.Write Bin
writeStream.SaveToFile USER_FOLDER & "\" & FILENAME ,adSaveCreateOverWrite
writeStream.Close
'
Set writeStream=Nothing
Set TmpFile=Nothing
Set DomFIle=Nothing
仕組みは非常に簡単だと思います。
簡単なのですが、この部分で悩んでいるエンジニアの方も多いですよね。
こういった技術はネット上でも個人によって断片的にしか公開されておらず、ましてや商売で製作している企業にとってはノウハウにあたるため、公開することはまずないかと思います。
このストリーム部分は writer だけではなく、CMS等の技術としても幅広く応用できるため、ぜひ利用して頂ければと思います。
もしバグがあったら教えてくださいね。
ちゃんと精査しないのは私の仕様です。