Hallo,
Ich versuche excel Sheets hochzuladen. Wenn das Excel Sheet keine Makros enthaelt, funktionniert es wunderbar. Aber sobald Makros definiert sind, wird es nicht mehr auf dem Server hochgeladen.
Ist das Problem bekannt?
Da ich aber nicht mit CGI Objekte arbeite, koennte es auch daran liegen... Hier der Code
Subroutine, um die Parameters zu parsen...
sub parse_query {
my (@pairs,%p);
if ($ENV{'REQUEST_METHOD'} eq 'GET') {
@pairs = split(/&/, $ENV{'QUERY_STRING'});
}
elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, my $buffer, $ENV{'CONTENT_LENGTH'});
if (lc $ENV{'CONTENT_TYPE'} eq 'application/x-www-form-urlencoded') {
@pairs = split(/&/, $buffer);
}
elsif (lc $ENV{'CONTENT_TYPE'} =~ m/^multipart/form-data; boundary=(.+)$/) {
my $boundary="--$1";
my @pieces = split(/$boundary/,$buffer);
foreach (@pieces) {
s/^\r\n//sg;
if ( m/^Content-Disposition: form-data; name="(.+?)"\r\n\r\n(.+)/is ) {
my $name = $1;
my $content = $2;
$content =~ s/(\r\n)+$//g;
$p{$name}= $content;
}
elsif ( m/^Content-Disposition: form-data; name="(.*?)"; filename="(.*?)"\r\nContent-type:.*?\r\n\r\n(.+)/is ) {
my $name = $1;
my $filename = $2;
my $content = $3;
$content =~ s/[\r\n]*$//g;
$filename =~ s/.*\//;
$filename =~ s/.*///;
$p{$name}->{"filename"} = $filename;
$p{$name}->{"content"} = $content;
}
}
}
else { &error ("Invalid CONTENT_TYPE "<b>$ENV{'CONTENT_TYPE'}</b>"!"); }
}
my $pair;
foreach $pair (@pairs) {
my ($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
if ($name eq "MaskCode") { $p{$name} = uc($value); }
else { $p{$name}=$value; }
}
return (%p);
}
my $params = &parse_query();
my $xls = $params{'XLS'};
my $xlsname = $xls->{'filename'};
my $xlscontent = $xls->{'content'};
my $fullxlsname = $upload_path . "/" . $xlsname;
if ($xlsname ne "") {
if (open (OUTPUT,">$fullxlsname")) {
binmode OUTPUT;
print OUTPUT $xlscontent;
close OUTPUT;
}
}
Danke fuer die Hilfe!
VB.