[Catalyst] upload breakage
Joe Landman
landman at scalableinformatics.com
Tue Dec 18 15:50:22 GMT 2007
Hi folks:
I am trying to set up a simple multiple upload form. Using jQuery
multi class for the interface portion. The form looks like this:
<form action="/upload" class="multi" enctype="multipart/form-data" >
<input type="file" class="multi" />
<input type="submit" name="upload" value="upload file(s)" />
<input type="hidden" name="destination_path" value="<%
$destination_path %>" />
<input type="hidden" name="form_submit" value="yes" />
</form>
and the receiving action is basically a cut and paste from the cookbook
my $path = $c->req->param('destination_path');
$c->log->debug('********* path = '.$path);
if ( $c->request->parameters->{form_submit} eq 'yes' ) {
$c->log->debug('********* uploading! ');
for my $field ( $c->request->upload ) {
$c->log->debug('*********** field '.$field);
my $upload = $c->request->upload($field);
my $filename = $upload->filename;
my $target = File::Spec->catfile($path,$filename);
$c->log->debug('*********** name '.$filename);
$c->log->debug('*********** target'.$target);
unless ( $upload->link_to($target) ||
$upload->copy_to($target) ) {
die( "Failed to copy '$filename' to '$target': $!" );
}
}
}
Now when I try to upload a file, in this case a simple perl script named
wireless.pl ... fairly small as a simple test case, the controller reports
[debug] Query Parameters are:
.-------------------------------------+--------------------------------------.
| Parameter | Value
|
+-------------------------------------+--------------------------------------+
| destination_path | /tmp
|
| file | wireless.pl
|
| file1 |
|
| form_submit | yes
|
| upload | upload file(s)
|
'-------------------------------------+--------------------------------------'
[debug] "GET" request for "upload" from "127.0.0.1"
[debug] Path is "upload"
[debug] ********* path = /tmp
[debug] ********* uploading!
[debug] ********* dump = $VAR1 = 'upload file(s)';
but it never seems to hit the innards of the loop. So it doesn't
actually go through extracting the file name and so on.
Any clues? Is it obvious what I am doing wrong here?
And if there is a better way to do multi file upload using Catalyst and
jQuery, please, by all means, I am all ears ...
Thanks!
--
Joe Landman
landman at scalableinformatics.com
More information about the Catalyst
mailing list