Solved

html form upload file using browse

Posted on 2008-06-17
8
213 Views
Last Modified: 2011-09-20
I have a long form that allows a user to upload an image.

There is a lot of validation required and if a users input does not validate an error message is printed and the form is refreshed with all the input entered so far.

So far so good.

the input in the upload image 'browse' is lost when the form is refreshed.

Where can I find this info so I can reprint what was previously entered?
0
Comment
Question by:rwhubbard996
  • 4
  • 2
  • 2
8 Comments
 
LVL 29

Expert Comment

by:rdivilbiss
ID: 21809197
You have no access to that information in any modern browser, sorry.  If you could access that directly you could upload ANY file from the user's computer without their permission.
0
 
LVL 36

Expert Comment

by:Loganathan Natarajan
ID: 21811389
Yes, it is too complex to do that on this condition. better try to use AJAX to avoid the page refresh OR when you submit try to upload the files and display them near the control it is uploaded ... facility to remove / confirm to upload ... something like,.,
0
 
LVL 36

Expert Comment

by:Loganathan Natarajan
ID: 21811392
>> Where can I find this info so I can reprint what was previously entered?

you cannot reprint to the control ., but you can get the value / name selected the files and display them
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
LVL 29

Expert Comment

by:rdivilbiss
ID: 21813713
Or do an initial validation in JavaScript before your server side checks.

Also watch out for echoing user input back to the fields...open your form for XSS.
0
 

Author Comment

by:rwhubbard996
ID: 21814758
I was trying to be so clear with my question, sorry not sure I was.

I haven't used the 'browse'  function before and feeling the pressure of a deadline posted the question hoping for a simple solution.

Now at the start of the day and after reading the comments I started thinking (always good for a developer to think :-) ).

The 'browse' is a javascript function? I'm, thinking it must be a client side script of some sort to see the users files.  The information that gets printed in the window, the file name and path, is partially visible in the $_FILE array.  I can access the file name but not the path.

Right now I'm not in a position to dissect the inner workings of this function.  

My guess is if I can grab the path and file name I can put it back in the text field of the form so the user doesn't  have to enter it again.

After reading the comments I'm doubting my 'guess'.  The client server divide may prevent what seemed simple at first glance.

Any further clarification would be appreciated.

Thanks
0
 
LVL 29

Accepted Solution

by:
rdivilbiss earned 500 total points
ID: 21815551
If you look at the data from a for upload (say using Live HTTP Headers for FF) you'll see the name-value pairs passed in clear text followed by a form multipart line, then the BASE64 encoded contents of the file the user chose to upload via your form.

You'll get the filename as well.

From the aspect of manipulating what is displayed on the user's browser, you can use script to manipulate nearly every aspect of the page "EXCEPT" a file control.  It isn't that you cant see the filename once it is uploaded, but you have no way of filling a file field with any data, even if your purpose is simply to redisplay what the user already chose.

That is the protocol for the file field as specified by the W3C and is how all browsers implemented the field.
0
 
LVL 29

Expert Comment

by:rdivilbiss
ID: 21815606
0
 

Author Closing Comment

by:rwhubbard996
ID: 31468170
Thanks, that really clarifies the issue!
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
This article will inform Clients about common and important expectations from the freelancers (Experts) who are looking at your Gig.
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question