OpenOffice.org 2.1で作成したOpenDocument Formatのファイル(拡張子 odt,odsなど)を、改変した KentWebさんのアップロード掲示板「ClipBoard v1.97」を用いてWWWサーバにアップロードしたところ、
.htaccess内にAddTypeディレクティブ(MIMEタイプ)を追記しても、
エントリー「OpenOffice.org 2.1とMIMEタイプ」
» http://www.osbsd.net/2007/04/openofficeorg_2_4663.html
下記のとおり、Webブラウザの種類・バージョンによって application/x-zip-compressedと誤って認識されることがわかりました。
IE 6.0は使用できず、他のブラウザ(Firefox の動作確認済)では正常作動します。
(また、IE 6.0, 7ともにブラウザ表示中に「名前を付けて保存」ができないようです。)
クライアントPC [OS/browser]
システム Microsoft Windows 2000 Service Pack 4 では、
Webブラウザ
Microsoft Internet Explorer 6.0 SP 1 ⇒ × 不可
Firefox 2 ⇒ ○ 可
システム Microsoft Windows XP Home Edition Service Pack 2 では、
Webブラウザ
Microsoft Internet Explorer 7 ⇒ ○ 可
【ClipBoard v1.97】
KentWebさんのアップロード掲示板 http://www.kent-web.com/
(例) 文書ドキュメント odt、表計算ドキュメント ods、プレゼンテーション odpをアップロードできるようにするための改変(改造)個所は以下のとおりです。
# (1) 200行あたり
$swf = 0; # SWFファイル
# 直下に3行追加
$odt = 1; # OOo ver2.1 ODTファイル
$ods = 1; # OOo ver2.1 ODSファイル
$odp = 1; # OOo ver2.1 ODPファイル
# (2) 610行あたり
if ($tail =~ /shockwave\-flash/i && $swf) { $tail=".swf"; $flag=1; }
# 直下に3行追加
if ($tail =~ /application\/vnd.oasis.opendocument.text/i && $odt) { $tail=".odt"; $flag=1; }
if ($tail =~ /application\/vnd.oasis.opendocument.spreadsheet/i && $ods) { $tail=".ods"; $flag=1; }
if ($tail =~ /application\/vnd.oasis.opendocument.presentation/i && $odp) { $tail=".odp"; $flag=1; }
# (3) 630行あたり
if ($fname =~ /\.swf$/i && $swf) { $tail=".swf"; $flag=1; }
# 直下に3行追加
if ($fname =~ /\.odt$/i && $odt) { $tail=".odt"; $flag=1; }
if ($fname =~ /\.ods$/i && $ods) { $tail=".ods"; $flag=1; }
if ($fname =~ /\.odp$/i && $odp) { $tail=".odp"; $flag=1; }
# 以上

コメント