--- lib/Arh/Action/UploadPicture.pm 2008/04/06 14:42:08 44 +++ lib/Arh/Action/UploadPicture.pm 2008/04/06 16:09:03 48 @@ -28,14 +28,27 @@ binmode $fh; my $content = scalar <$fh>; + if ( $filename !~ m/\.(jpg|jpeg|png|gif|tif|tiff)$/i ) { + $self->result->error("unknown file type $filename"); + return; + } + warn "## $self take_action filename: $filename (", length($content), " bytes)\n"; - $self->argument_value( 'filename' => $filename ); + $self->argument_value( 'filename' => $filename ); # needed for report_success $self->argument_value( 'content' => $content ); + my $id = $self->SUPER::take_action( @_ ); + + # update database with correct filename (why do I need this?) + $self->record->set_filename( $filename ); + + return $id; + + } else { + $self->result->error("No file uploaded!"); } - return $self->SUPER::take_action( @_ ); } =head2 report_success