[mp2] can't locate object method "upload" via package "Apache::RequestRec"
[prev]
[thread]
[next]
[Date index for 2004/11/07]
Forgive my poor perl and understanding of how this works!
I'm trying to grab images from a form, using libapreq2,
and I'm seeing this error :
[Sun Nov 07 10:52:34 2004] [error] Can't locate object method "upload"
via package "Apache::RequestRec" at /home/benfab/lib/BF.pm line 135.\n
I've a library I'm writing, BF.pm, that has the following two
subroutines in it :
sub hash_post {
# returns a hash of all the POST values
use Apache::Request;
use Apache::Upload;
my ($r) = shift;
my %rethash = {};
my $req = Apache::Request->new($r);
my @param_names = $req->param;
foreach my $value (@param_names) {
$rethash{$value} = $req->param($value);
}
return %rethash;
}
sub get_uploaded_image {
my ($name, $max_size, $r) = @_;
use Apache::Upload;
my $upload = $r->upload($name);
print STDERR $upload->filename();
}
They're pretty crude, but hash_post does what I need (any suggestions
for improvemend gladly accepted!). I'm working on the
get_uploaded_image() at the moment (as you can see, it doesn't do
anything yet!)
I've declared $r in my calling script, and I'm not sure if I
need to declare it again in the subroutines?
The calling script looks like this :
my $r = Apache->request;
$r->content_type("text/html");
use lib qw(/home/benfab/lib);
use BF;
use Template;
use Data::Dumper;
use strict;
.
.
.
my %posted_data = BF::hash_post($r);
my $upload = BF::get_uploaded_image("small_image",
$BF::small_image_size, $r);
If I change my subroutine to this :
sub get_uploaded_image {
my ($name, $max_size, $r) = @_;
use Apache::Upload;
my $req = Apache::Request->new($r);
my $upload = $req->upload($name);
print STDERR $upload->filename();
}
It starts to work, but I don't understand why I need to declare $req
again here? I want to keep my form parsing image stuff seperate,
as not all my pages will have images to load, am I doing this the
'best' way?
thanks!
Carl
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html
 |
[mp2] can't locate object method "upload" via package "Apache::RequestRec"
Carl Brewer 00:04 on 07 Nov 2004
|