Thread ExtJs mit Perl Problem bei den Post Variablen (21 answers)
Opened by orca16 at 2008-09-01 12:43

orca16
 2008-09-05 18:55
#114301 #114301
User since
2008-09-01
12 Artikel
BenutzerIn
[default_avatar]
so nach einigem Suchen habe ich herausgefunden, dass der UploadDialog von ExtJs keine wirklichen Post Variablen übergibt, also habe ich den Upload etwas angepasst, sodas ich nun einige Parameter übergeben bekomme.

Das Perl Script ebenfalls angepasst und das schaut nun so aus:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!c:/perl/bin/perl -w
my $DATA_DIR='C:/htdocs/test/bigsize_images';                                                           # Path of data directory
my $DEFAULT_UPLOAD_DIR='C:/htdocs/test/images/upload';                                          # Path of work directory
        
################################################################################
#    DO NOT EDIT ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING    #
################################################################################
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);

my $query = new CGI();

##############################################################################
# Übergabeparameter aus Formular                                             #
##############################################################################
my $SID= $query->url_param('SID');
my $action= $query->url_param('action');
my $file_name=$query->url_param('filename');
my $IMAGE_DIR='C:/htdocs/test/images/'.$query->url_param('album');                                                      # Path of image album directory

if ($query->param('BT_Exit')) { $action = ''; }

if ($action eq 'upload') {
        print $query->header;
        print &Upload($query, $DEFAULT_UPLOAD_DIR, $file_name, $IMAGE_DIR);
} else {
        print "Content-type: text/html\n\n";
        print '({"success":false,"error":"No upload flag request"})';
}

########################################
# Upload Sub                           #
########################################

sub Upload  {
        my($query, $upload_dir) = @_;
    my($file_query,$size, $buff, $time, $bytes_count);
        $size = $bytes_count = 0;
        $file_query = $query->param("file");
                
        if (! $file_name) {
                &Error("Bad filename", 1);
        }

        #if (-e "$upload_dir/$file_name") {
        #       &Error("File allready exists", 1);
        #}

    open(FILE,">$upload_dir/$file_name") || &Error("File not found!", 1);
    binmode FILE;
        $time=time();
    while ($bytes_count = read($file_query,$buff,1024)) {
        print FILE $buff;
        $size += $bytes_count;          
    }
    close(FILE);

        #chmod (0644, "$upload_dir/$file_name");
        
    if ((stat "$upload_dir/$file_name")[7] <= 0) {
                unlink("$upload_dir/$file_name");
        &Error("Could not open file", 1);
    } else {
        $time = time -$time;
                print '({"success":true})';
     }
}

########################################
# HTML Present subs                    #
########################################

sub Error {
        my($errortext, $exit) = @_;
        #print "Content-type: text/html\n\n";
        print '({"success":false,"error":"'.$errortext.'"})';
        if($exit) { exit; }
}


Wenn ich nun die Zeilen
Code (perl): (dl )
1
2
3
#if (-e "$upload_dir/$file_name") {
        #       &Error("File allready exists", 1);
        #}


auskommentiere bekomme ich den Fehler angezeigt, obwohl die Datei eigentlich noch nicht da ist. Was ist da falsch?

Wenn ich die Zeilen auskommentiert lasse, bekomme ich den Fehler angezeigt :Can't use an undefined value as a symbol reference at C:/xampp/cgi-bin/upload.cgi line 53.

Kurioser Weise wird das File aber hochgeladen bzw. geschrieben und ist intakt. Wo liegt da mein Fehler?

Ich bastel nun schon zwei Wochen an dem Ding, so langsam geht mir die Geduld aus...

Hat jemand noch ein paar Tips auf Lager???

View full thread ExtJs mit Perl Problem bei den Post Variablen