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);
どこも間違っていないと思うのですが、どなたかこの問題を解決できる方はおられるでしょうか。
お礼
お返事が遅くなってすいません。 教えていただいた件を実行してみましたが、 だめでした。 処理が終了するまで、ブラウザが開放されないみたいです。 ん~IISは使いづらいです・・・