HTMLではないファイルをSEND HTML BLOBで送信する
日付 | 2009/07/21 |
---|---|
ID | 75828 (英語原文参照) |
バージョン | 11 |
プラットフォーム | Mac & Win |
SEND HTML BLOBコマンドでHTML以外のファイルを送信する場合、MIMEタイプに気を配る必要があります。下記はそのためのラッパーメソッドです。メソッドで検出できないファイルは、"application/x-unknown"として送信します。このメソッドが採用しているMIMEタイプのリストは、SEND HTML BLOBコマンドのドキュメントから引用しました。SEND HTML FILEコマンドはHTMLファイルの送信に限定されているのに対し、SEND HTML BLOBはさまざまなMIMEタイプを送信することができます。
` METHOD: wwwSendFile ` ` Parameters: 1 ` ` $1: path to file being sent ` ` Notes: Essentially this is a wrapper SEND HTML BLOB that will ` make it easier to send non HTML files with this command Case of : (Count parameters=1) C_BOOLEAN($fQuit) C_TEXT($1;$request;$tmp;$mime;$extension) C_LONGINT($count;$pos) $request:=$1 $tmp:=$request $count:=0 $fQuit:=False $mime:="" Repeat $pos:=Position(".";$tmp;2) $tmp:=Substring($tmp;$pos) $extension:=$tmp Case of :($extension=".htm") $mime:="text/html" :($extension=".html") $mime:="text/html" :($extension=".shtml") $mime:="text/html" :($extension=".shtm") $mime:="text/html" :($extension=".css") $mime:="text/css" :($extension=".pdf") $mime:="application/pdf" :($extension=".rtf") $mime:="application/rtf" :($extension=".ps") $mime:="application/postscript" :($extension=".eps") $mime:="application/postscript" :($extension=".hqx") $mime:="application/mac-binhex40" :($extension=".js") $mime:="application/javascript" :($extension=".txt") $mime:="text/Plain " :($extension=".text") $mime:="text/Plain " :($extension=".gif") $mime:="image/gif" :($extension=".png") $mime:="image/png" :($extension=".jpg") $mime:="image/jpeg" :($extension=".jpeg") $mime:="image/jpeg" :($extension=".jpe") $mime:="image/jpeg" :($extension=".jfif") $mime:="image/jpeg" :($extension=".pic") $mime:="image/pict" :($extension=".pict") $mime:="image/pict" :($extension=".tif") $mime:="image/tiff" :($extension=".tiff") $mime:="image/tiff" :($extension=".mpeg") $mime:="video/mpeg" :($extension=".mpg") $mime:="video/mpeg" :($extension=".mov") $mime:="video/quicktime" :($extension=".moov") $mime:="video/quicktime" :($extension=".aif") $mime:="audio/aiff" :($extension=".aiff") $mime:="audio/aiff" :($extension=".wav") $mime:="audio/wav" :($extension=".ram") $mime:="audio/x-pn-realaudio" :($extension=".sit") $mime:="application/x-stuffit" :($extension=".bin") $mime:="application/x-stuffit" :($extension=".z") $mime:="application/x-zip" :($extension=".zip") $mime:="application/x-zip" : ($extension=".gz") $mime:="application/x-gzip" : ($extension=".tar") $mime:="application/x-tar" Else $mime:="" $count:=$count+1 If ($count > 19) $mime:="application/x-unknown" $fQuit:=True End if End case Until (($mime#"") | ($fQuit=True)) If ($mime#"") C_BLOB($blob) DOCUMENT TO BLOB($request;$blob) SEND HTML BLOB($blob;$mime) End if End case