Upload a file on server

Discussion in 'Perl Misc' started by pjsenthil@gmail.com, Aug 8, 2006.

  1. Guest

    Hi
    I have to upload a file on to a server.I have tried it.

    In my form of an HTML page, if i have a input file type ( file browse
    element) it is working properly.and i am able to upload.


    But in my case.I have so many images .i will list in the the browser
    with check box for each and image preview for each.The user will check
    the multiple check boxs and will upload.

    if i am trying out this. i am not able to upload the file on the
    server.
    the problem wat i am facing is,...

    the below is partial code...
    -------------------------------------------------------

    if($type_ok){
    if(!$overwrite){ # if $overwite = 0 or flase, rename file using the
    checkex sub

    $fileName = check_existence($destination,$fileName);
    }
    # create a new file on the server using the formatted ( new instance
    ) filename

    $r[$cnt]=$file;
    $cnt++;
    if(open(NEW, ">$destination$S{S}$fileName")){
    $VAR{err} .= $!;

    if($isWIN){ binmode NEW; } else { chmod(0777,
    "$destination$S{S}$fileName"); }
    # start reading users HD 1 kb at a time.

    %note if the data from file browse it is working well..

    but in case of check box .then the below read function is not working..
    i have checked that $file value...it is getting the path of the source
    perfectly.
    ****the problem is it not going into the while loop %

    while(read($file, $buffer, 1024))
    {

    print NEW $e;
    }
    # close the new file on the server and we're done
    close NEW;
    } else {
    # return the server's error message if the new file could not be
    created
    return qq~Error: Could not open new file on server. $!~;
    }

    # check limit hasn't just been overshot
    if(-s "$destination$S{S}$fileName" > $limit){ # -s is the file size
    unlink("$destination$S{S}$fileName"); # delete it if it's over the
    specified limit

    return qq~File exceeded limitations : $fileName~;
    }
    } else {

    return qq~Bad file type : $file_type~;
    }
    if(-s "$destination$S{S}$fileName"){

    return qq~Success $fileName~; #success
    } else {
    unlink("$destination$S{S}$fileName");


    return ; qq~Upload failed : No data in $fileName. No size on server's
    copy of file.
    Check the path entered. $VAR{err}~;
    }
    -------------------------------------------

    i have written the comments with in the code above..as (%-------%).


    So can one suggest me wat problem it can be,.
    pl
     
    , Aug 8, 2006
    #1
    1. Advertising

  2. wrote in
    news::

    > But in my case.I have so many images .i will list in the the browser
    > with check box for each and image preview for each.


    This is not a Perl question. You are understanding of CGI is lacking.

    To be able to create a form with a thumbnail for each image, you need to
    upload each image to the server.

    Or, use a signed Java applet or Activex object. Check out how online
    photo stores do it.

    (Yes, one could ask the user for a directory to browse on the hard drive,
    then trust client-side Javascript to display such thumbs, or create and
    serve an HTML document with links to images on the user's hard drive,
    but I would not even consider it for obvious security issues).

    > the below is partial code...


    This code is worse than useless in that it creates the distinct
    impression that you don't have the foggies idea what you are doing.

    You should post a small script that others can run just by copying and
    pasting.

    If you want to insert extended comments in the middle of the script, just
    use

    =for usenet

    blah blah blah

    =cut

    > # start reading users HD 1 kb at a time.


    I won't be visiting your site soon!

    > while(read($file, $buffer, 1024))
    > {
    >
    > print NEW $e;
    > }



    You probably want sysread and syswrite. However, you would do yourself a
    favor by reading about uploading in the CGI.pm manual even if you end up
    not using CGI.pm.

    > # close the new file on the server and we're done
    > close NEW;


    By the way, this is exactly the kind of place where you should put a
    limit on POSTs, check if every single output operation succeded, if close
    succeded etc.

    I don't understand any part of the code below, presumably because it is
    missing crucial parts and it is formatted awfully.

    > } else {
    > # return the server's error message if the new file
    > could not be
    > created
    > return qq~Error: Could not open new file on server.
    > $!~;
    > }
    >
    > # check limit hasn't just been overshot
    > if(-s "$destination$S{S}$fileName" > $limit){ # -s is the
    > file size
    > unlink("$destination$S{S}$fileName"); # delete it if
    > it's over the
    > specified limit
    >
    > return qq~File exceeded limitations : $fileName~;
    > }
    > } else {
    >
    > return qq~Bad file type : $file_type~;
    > }
    > if(-s "$destination$S{S}$fileName"){
    >
    > return qq~Success $fileName~; #success
    > } else {
    > unlink("$destination$S{S}$fileName");
    >
    >
    > return ; qq~Upload failed : No data in $fileName. No size on
    > server's
    > copy of file.
    > Check the path entered. $VAR{err}~;
    > }
    > -------------------------------------------
    >
    > i have written the comments with in the code above..as (%-------%).


    Don't. Why make it harder for people to help you?


    > So can one suggest me wat problem it can be,.


    Learn about CGI in general. Read the posting guidelines for this group,
    and conform to them.

    Sinan
     
    A. Sinan Unur, Aug 8, 2006
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. =?Utf-8?B?U2FyYXY=?=

    Upload a file without file Upload control - ASP.Net

    =?Utf-8?B?U2FyYXY=?=, Aug 2, 2005, in forum: ASP .Net
    Replies:
    3
    Views:
    2,459
    Bruce Barker
    Aug 3, 2005
  2. Paul  Smith
    Replies:
    1
    Views:
    3,167
    Paul Smith
    Nov 17, 2003
  3. Heather Fraser
    Replies:
    0
    Views:
    638
    Heather Fraser
    Jul 5, 2004
  4. Replies:
    1
    Views:
    941
    Gabriel Genellina
    Nov 25, 2006
  5. Prakash
    Replies:
    3
    Views:
    466
    Ray at
    Nov 12, 2003
Loading...

Share This Page