HighDots Forums  

why file upload cannot work?

Javascript JavaScript language (comp.lang.javascript)


Discuss why file upload cannot work? in the Javascript forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
GuangXiN
 
Posts: n/a

Default why file upload cannot work? - 06-10-2008 , 10:31 PM






I want the file upload element disappear, instead of it, I place a text
box and a button with my own css defination.
but it doesn't work on IE7. What should I do now?
<form action="upload.php" method="POST" enctype="multipart/form-data">
<p>
<span>Select photo:</span>
<input type="file" name="photo" style="display:none;">
<input type="text" name="photoUrl" class="s1" />
<input type="button" class="s2"
onClick="photo.disabled=false;photo.click();photoU rl.value=photo.value;photo.disabled=true"
value="Browse" />
</p>
</form>

Reply With Quote
  #2  
Old   
LukeK1980@gmail.com
 
Posts: n/a

Default Re: why file upload cannot work? - 06-10-2008 , 11:30 PM






On Jun 10, 11:31 pm, GuangXiN <xvt... (AT) gmail (DOT) com> wrote:
Quote:
I want the file upload element disappear, instead of it, I place a text
box and a button with my own css defination.
but it doesn't work on IE7. What should I do now?
form action="upload.php" method="POST" enctype="multipart/form-data"
p
span>Select photo:</span
input type="file" name="photo" style="display:none;"
input type="text" name="photoUrl" class="s1" /
input type="button" class="s2"
onClick="photo.disabled=false;photo.click();photoU rl.value=photo.value;photo.disabled=true"
value="Browse" /
/p
/form
turn the button into a anchor you can style that any way you want.


Reply With Quote
  #3  
Old   
GuangXiN
 
Posts: n/a

Default Re: why file upload cannot work? - 06-11-2008 , 12:54 AM



LukeK1980 (AT) gmail (DOT) com wrote:
Quote:
On Jun 10, 11:31 pm, GuangXiN <xvt... (AT) gmail (DOT) com> wrote:
I want the file upload element disappear, instead of it, I place a text
box and a button with my own css defination.
but it doesn't work on IE7. What should I do now?
form action="upload.php" method="POST" enctype="multipart/form-data"
p
span>Select photo:</span
input type="file" name="photo" style="display:none;"
input type="text" name="photoUrl" class="s1" /
input type="button" class="s2"
onClick="photo.disabled=false;photo.click();photoU rl.value=photo.value;photo.disabled=true"
value="Browse" /
/p
/form

turn the button into a anchor you can style that any way you want.
Sorry, what I mean is the file upload element doesn't work.
the file upload element's style cannot be set, so I make it unvisiable,
but so it can't send a correct file upload request to web server.


Reply With Quote
  #4  
Old   
Evertjan.
 
Posts: n/a

Default Re: why file upload cannot work? - 06-11-2008 , 01:04 AM



GuangXiN wrote on 11 jun 2008 in comp.lang.javascript:

Quote:
LukeK1980 (AT) gmail (DOT) com wrote:
On Jun 10, 11:31 pm, GuangXiN <xvt... (AT) gmail (DOT) com> wrote:
I want the file upload element disappear, instead of it, I place a
text box and a button with my own css defination.
but it doesn't work on IE7. What should I do now?
form action="upload.php" method="POST"
enctype="multipart/form-data"
p
span>Select photo:</span
input type="file" name="photo" style="display:none;"
input type="text" name="photoUrl" class="s1" /
input type="button" class="s2"
onClick="photo.disabled=false;photo.click();photoU rl.value=photo.valu
e;photo.disabled=true" value="Browse" /
/p
/form

turn the button into a anchor you can style that any way you want.

Sorry, what I mean is the file upload element doesn't work.
the file upload element's style cannot be set, so I make it
unvisiable, but so it can't send a correct file upload request to web
server.
"Doesn't work" is not an acceptable fraze in this NG, unless you explain
what and how, what debugging tou did, and if and what errorstring and
linenumbers you encountered.

As a security measure, you cannot manipulate the input file element of html
upload forms. Otherwise it would be too easy to secretly upload another
file than the one shown and so compromize the user's private parts.



--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)


Reply With Quote
  #5  
Old   
GuangXiN
 
Posts: n/a

Default Re: why file upload cannot work? - 06-11-2008 , 01:17 AM



Evertjan. wrote:
Quote:
GuangXiN wrote on 11 jun 2008 in comp.lang.javascript:

LukeK1980 (AT) gmail (DOT) com wrote:
On Jun 10, 11:31 pm, GuangXiN <xvt... (AT) gmail (DOT) com> wrote:
I want the file upload element disappear, instead of it, I place a
text box and a button with my own css defination.
but it doesn't work on IE7. What should I do now?
form action="upload.php" method="POST"
enctype="multipart/form-data"
p
span>Select photo:</span
input type="file" name="photo" style="display:none;"
input type="text" name="photoUrl" class="s1" /
input type="button" class="s2"
onClick="photo.disabled=false;photo.click();photoU rl.value=photo.valu
e;photo.disabled=true" value="Browse" /
/p
/form
turn the button into a anchor you can style that any way you want.
Sorry, what I mean is the file upload element doesn't work.
the file upload element's style cannot be set, so I make it
unvisiable, but so it can't send a correct file upload request to web
server.

"Doesn't work" is not an acceptable fraze in this NG, unless you explain
what and how, what debugging tou did, and if and what errorstring and
linenumbers you encountered.

As a security measure, you cannot manipulate the input file element of html
upload forms. Otherwise it would be too easy to secretly upload another
file than the one shown and so compromize the user's private parts.



OK, let me explain my words.
I wrote a file upload component, but I cannot modify its sytle to what I
want. So I added a textbox and a button with style, and then I make the
file upload component hidden, I want to use script to simulate the file
upload's "Browse" click. I am sure that file select dialog popup when I
click the button. I select a image file, the path and filename did
display in the textbox. But when I click submit, server side script
caught no file.


Reply With Quote
  #6  
Old   
Evertjan.
 
Posts: n/a

Default Re: why file upload cannot work? - 06-11-2008 , 01:34 AM



GuangXiN wrote on 11 jun 2008 in comp.lang.javascript:

Quote:
As a security measure, you cannot manipulate the input file element
of html upload forms. Otherwise it would be too easy to secretly
upload another file than the one shown and so compromize the user's
private parts.

OK, let me explain my words.
I wrote a file upload component, but I cannot modify its sytle to what
I want. So I added a textbox and a button with style, and then I make
the file upload component hidden, I want to use script to simulate the
file upload's "Browse" click. I am sure that file select dialog popup
when I click the button. I select a image file, the path and filename
did display in the textbox.
As I said, security could be compromized by that.
The browser does not contemplate your possible good intentions.

Quote:
But when I click submit, server side script caught no file.
Do serverside scripts catch files? Fire perhaps?

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)


Reply With Quote
  #7  
Old   
SkyZhao
 
Posts: n/a

Default Re: why file upload cannot work? - 06-11-2008 , 04:35 AM



On Jun 11, 11:31*am, GuangXiN <xvt... (AT) gmail (DOT) com> wrote:
Quote:
I want the file upload element disappear, instead of it, I place a text
box and a button with my own css defination.
but it doesn't work on IE7. What should I do now?
form action="upload.php" method="POST" enctype="multipart/form-data"
* *<p
* * *<span>Select photo:</span
* * *<input type="file" name="photo" style="display:none;"
* * *<input type="text" name="photoUrl" class="s1" /
* * *<input type="button" class="s2"
onClick="photo.disabled=false;photo.click();photoU rl.value=photo.value;phot*o.disabled=true"
value="Browse" /
* *</p
/form
don't use "disabled",only use "display:none";



Reply With Quote
  #8  
Old   
GuangXiN
 
Posts: n/a

Default Re: why file upload cannot work? - 06-11-2008 , 05:00 AM



Evertjan. wrote:
Quote:
GuangXiN wrote on 11 jun 2008 in comp.lang.javascript:

As a security measure, you cannot manipulate the input file element
of html upload forms. Otherwise it would be too easy to secretly
upload another file than the one shown and so compromize the user's
private parts.

OK, let me explain my words.
I wrote a file upload component, but I cannot modify its sytle to what
I want. So I added a textbox and a button with style, and then I make
the file upload component hidden, I want to use script to simulate the
file upload's "Browse" click. I am sure that file select dialog popup
when I click the button. I select a image file, the path and filename
did display in the textbox.

As I said, security could be compromized by that.
The browser does not contemplate your possible good intentions.
Is there any other way to implement what I need? I just need a file
upload component with customs style in css file.

Quote:
But when I click submit, server side script caught no file.

Do serverside scripts catch files? Fire perhaps?

PHP has an $_FILES arra. When submit with a file, it will be not null.
I tried to make the file upload component appear and I click the
following button (NOT the Browse button in fileupload component). I can
choose a file and the file upload component show its path correctly.
I click submit and PHP shows that $_FILES is still null.


Reply With Quote
  #9  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: why file upload cannot work? - 06-12-2008 , 05:58 PM



GuangXiN wrote:
Quote:
Evertjan. wrote:
GuangXiN wrote on 11 jun 2008 in comp.lang.javascript:
As a security measure, you cannot manipulate the input file element
of html upload forms. Otherwise it would be too easy to secretly
upload another file than the one shown and so compromize the user's
private parts.

OK, let me explain my words.
I wrote a file upload component, but I cannot modify its sytle to what
I want. So I added a textbox and a button with style, and then I make
the file upload component hidden, I want to use script to simulate the
file upload's "Browse" click. I am sure that file select dialog popup
when I click the button. I select a image file, the path and filename
did display in the textbox.
As I said, security could be compromized by that.
The browser does not contemplate your possible good intentions.
Is there any other way to implement what I need? I just need a file
upload component with customs style in css file.
This is rather a question for comp.infosystems.www.authoring.stylesheets.
But I am pretty sure you will have to live with the fact that a custom style
cannot be applied to this control in all user agents, and I can't think of a
*viable* alternative.

Quote:
PHP has an $_FILES arra. When submit with a file, it will be not null.
I tried to make the file upload component appear and I click the
following button (NOT the Browse button in fileupload component). I can
choose a file and the file upload component show its path correctly.
I click submit and PHP shows that $_FILES is still null.
Of course. By disabling the file input control you have only caused only
the encoded file path to be submitted per `photoUrl'. A file input control
in a form causes the encoded content of the selected file to be submitted
instead. And if it was possible to set the value of that control with
scripting, any Web site you visit could upload any file from your computed
without your knowing it; you do not want that to happen. (Using
display:none as suggested will not change that.)


PointedEars
--
Anyone who slaps a 'this page is best viewed with Browser X' label on
a Web page appears to be yearning for the bad old days, before the Web,
when you had very little chance of reading a document written on another
computer, another word processor, or another network. -- Tim Berners-Lee


Reply With Quote
  #10  
Old   
Dan Rumney
 
Posts: n/a

Default Re: why file upload cannot work? - 06-12-2008 , 06:44 PM



Thomas 'PointedEars' Lahn wrote:
[snip]
Quote:
Of course. By disabling the file input control you have only caused only
the encoded file path to be submitted per `photoUrl'. A file input control
in a form causes the encoded content of the selected file to be submitted
instead. And if it was possible to set the value of that control with
scripting, any Web site you visit could upload any file from your computed
without your knowing it; you do not want that to happen. (Using
display:none as suggested will not change that.)
Certainly the risk of being able to set the value of a file input
control via a script is clear to those who understand its function.

My interpretation of the OP's request was the following question:

Is it possible to write a script that mimic's a user clicking the upload
box. Nothing nefarious... just some way of opening the Open... dialog
such that the file input control's value will be populated in a
legitimate fashion.

I'd be the first to admit that there may be a heavy does of inference
going on, but if that wasn't the OP's intention, it's certainly where my
musings lead me.

I thought that the click function would do it, but I think all that does
is emulate the user clicking at some random point on the control and not
specifically on the Upload button.

Any thoughts?


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.