perl-embperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Christophe Boggio <embp...@thefreecat.org>
Subject Upload problem
Date Wed, 04 Apr 2012 16:20:48 GMT
Hello,

I have a simple upload module but I can't get a pure binary upload
to work everytime. This is what I get sometimes :
- Original is 73856 bytes
- Uploaded is 33398 bytes or 27939 bytes

Also the header changed from :
0x00000000: FFD8FFE0 00104A46 49460001 0101012C     ......JFIF.....,
To :
0x00000000: EFBFBDEF BFBD0010 4A464946 00010101     ........JFIF....
0x00000010: 012C                                    .,
Or even :
0x00000000: EFBFBDEF BFBDEFBF BDEFBFBD 00104A46     ..............JF
0x00000010: 49460001 0101012C                       IF.....,

So it's not just a truncated file. What is doing this ? Why does it work sometimes
and sometimes not ?

I have tried setting escmode=0, binmode FILE, EmbperlBlocks with no change. What is
causing this behaviour ? How can I guarantee a binary upload ?

Here is my code :


	[$ syntax EmbperlBlocks $]
	[-
		$req=shift;
		$escmode=0;
		$PHOTOPATH = "$ENV{DOCUMENT_ROOT}/data/img/artistes/big";
		while ( ($k,$v)=each(%fdat)) {
			if ($k =~ /^upl(\d+)$/ and $v) {
				my $filename=$1;
				open(FILE,">$PHOTOPATH/$filename.jpg") or print OUT $!;
				binmode FILE;
				my $buffer;
				while (read($fdat{$k},$buffer,32768)) {
# should I do something with $buffer here ?
					print FILE $buffer;
				}
				close(FILE);
			}
		}
	-]


	<form method="post" ENCTYPE="multipart/form-data">

And inside a loop :
		<input type="FILE" id="upl[+ $p->[0] +]" name="upl[+ $p->[0] +]" />

		<input type="SUBMIT" name="Bsave" value="Enregistrer" />
	</form>


Thanks for your help,

-- 
Jean-Christophe Boggio                       -o)
embperl@thefreecat.org                       /\\
Independant Consultant and Developer        _\_V

---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org


Mime
View raw message