バイナリファイルのアップロードに関して
今回質問させて頂くことに関連した問題を、現在MySQLのカテゴリで質問させていただいているのですが、
バイナリファイルをアップロードし、そのファイルのバイナリデータを変数($img)に格納し、それをDBに格納するという形を目指しています。しかし、DBにどうしても格納できません。もしやバイナリデータを変数に格納する時点で、既におかしいのかと思いまして、その部分についてこちらでご教授頂きたく書き込ませていただきました。
#!C:\Perl
use CGI;
use DBI;
$PCMOJPATH='C:\パス名'; #ディレクトリ指定
my ($buffer);
my $query = new CGI;
$uniqid = time . "_" . $$;
$newfile = "upload_$uniqid"; #ファイル名
print "Content-type: text/html\n\n";
print "<html><body>\n";
my $fH = $query->upload('filename');
my $mimetype = $query->uploadInfo($fH)->{'Content-Type'};
open (OUT, ">$PCMOJPATH/$newfile");
binmode (OUT);
while(read($fH, $buffer, 1024)){
print OUT $buffer;
$img .= $buffer; #バイナリデータを$imgに格納
}
close (OUT);
close ($fH) if ($CGI::OS ne 'UNIX');
chmod (0666, "$PCMOJPATH/$newfile");
-------------------------
と書いているのですが、$imgにはバイナリデータがちゃんと入っていないのでしょうか?間違っているところがあれば、どのように直したらいいか教えてください。どうぞよろしくお願いします。