DotNetZip を使って ZIP ファイルを展開する処理があるんだけど、特定のファイルだけうまくいかない。
「パスに無効な文字が含まれています」というエラーが出るのだ。
デバッグしてみると、圧縮されたファイルのエントリに、< や > の文字を含んだファイルがあった。
HTML のタグのような。
なんなんだ、これ。
たしかにファイル名としては無効な文字だな…。
そこで ExtractAll メソッドを使って展開処理をしていたところを、1 ファイルずつ展開するように修正。
そこで無効な文字を見つけたら、そのエントリは無視するようにした。
意外と早く片付いたよ。
でも疲れた…。