2013年11月27日水曜日

docxのバイナリヘッダで疑問

ブラウザからポストされたファイル(docx)の形式をバイナリヘッダでチェックするシステムを扱っているのですが、
ユーザから「ファイルを送信できない」という問い合わせがありました。


通常docxファイルのバイナリヘッダは

50 4B 03 04 14 00 06 00


一方、ユーザから送られてきたファイルのバイナリヘッダは

50 4B 03 04 14 00 08 00


(参考)http://www.garykessler.net/library/file_sigs.html

このためチェックに引っかかって送信することができなかったのですが、
このユーザから送られてきたファイルは確かにWord文書として開くことができるのです。
上記「参考」のページを見るとユーザのファイルはjarファイルみたいですが・・・。
docxはzip圧縮、jar圧縮どちらも取り扱えるということなのでしょうか?

ファイル作成環境などは都合でこれ以上ユーザに突っ込んだ質問出来ないので不明です・・・。

2013年11月26日火曜日

秀丸でバイナリを確認する方法

「その他」→「コマンド一覧」→「ファイル系」→「バイナリモード」

以上メモまで。

2013年11月18日月曜日

【ASP.NET WebForms】aspxファイルとclassファイルの名前衝突

今さらな内容ですが、ASP.NET WebForms で開発する時にaspxファイルとクラスファイルのクラス名が衝突するとエラーになります。
名前空間が違えば衝突は起こりません。
(当然といえば当然ですが)


ただし、どこかでそのクラス(画像では「Sample」)を呼びださなければ、ビルドは通ります。
呼び出すと以下のようなエラーが出ます。



型 'Sample' は 'c:\Users\xxxxxx\AppData\Local\Temp\Temporary ASP.NET Files\root\d4b956ac\5fcc836a\App_Web_rnnubpny.dll' および 'c:\Users\xxxxxx\AppData\Local\Temp\Temporary ASP.NET Files\root\d4b956ac\5fcc836a\App_Code.zs4dnvnx.dll の両方に存在します。
意外とやってしまいがちなミスなので気をつけましょう。
と、自分に言い聞かせるメモ。