- 締切済み
ActivePerl,UTF-8環境のCGIにてブラウザからアップロー
ActivePerl,UTF-8環境のCGIにてブラウザからアップロードしたファイルの保存に失敗する件について、原因と対処方法をお願いいたします。 以下の環境でCGIを作成していましたが、 WindowsXP ApacheServer ActivePerl 5.10系 先日HDDがクラッシュしましたので、Windowsの再インストールからはじめて同じ環境を構築し動作確認を行っていたところ、新しい環境ではファイルのアップロードに失敗することが判明しました。 ファイルのバイナリが壊れるようです。画像等バイナリファイルをアップロードすると、ファイルサイズが3割程度増えたものが保存され、壊れます。 今回変わったところと言えば、ActivePerlのバージョンが最新になったくらいです。 調べても原因が判明しなかったことに加え、 クラッシュ前の環境ではこのような問題はなかった Linuxサーバでは問題ない ので、悩んでいます。 問題部分のソースはこのようになります。 use utf8; # 略 CGIモジュールを使用しています $fh = $q->upload(key); open (OUT, ">$directoryname$filename"); binmode (OUT); while(read($fh, $buffer, 1024)){ print OUT $buffer;} close (OUT); close ($fh); どこも間違っていないと思うのですが、どなたかこの問題を解決できる方はおられるでしょうか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kumoz
- ベストアンサー率64% (120/185)
回答No.3
- kumoz
- ベストアンサー率64% (120/185)
回答No.2
- _--_1l1_1_
- ベストアンサー率67% (102/152)
回答No.1
補足
格納された段階で壊れている可能性が高いと私も思っています。 自作したフレームワーク内でのことですのでuse utf8は削れません。 BIGINはエラーになります。