commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knezevic, Mihael" <m.kneze...@porta.de>
Subject AW: [FileUpload] Getting wrong filename from FileItem
Date Fri, 06 May 2005 07:13:13 GMT
 

> -----Urspr√ľngliche Nachricht-----
> Von: Dakota Jack [mailto:dakota.jack@gmail.com] 
> Gesendet: Freitag, 6. Mai 2005 08:51
> An: Jakarta Commons Users List; Knezevic, Mihael
> Betreff: Re: [FileUpload] Getting wrong filename from FileItem
> 
> Just so there is no misunderstanding, the browsers have 
> nothing to do with what getName returns.  The browsers differ 
> in what name they provide for the file.  Thus, when you get a 
> File object for IE it gives the full name and for the others 
> the actual file name itself. 
thanks for the extra explanation. it's what i understood in the first place (no offense on
this one).


> You make them all the same if you change commonsupload to give you
> file,getName() rather than just file.
> 
> 
> 
>     // Just add this to the "protected String getFileName(Map 
> headers)" method in FileUploadBase
>     if(fileName != null) {
>       fileName = new java.io.File(fileName).getName();
>     }

tried that in the first place in my programm. but as the filename is something like C:\mydir\myfile.txt
(windows file path) it doesn't seem to work on the linux server i'm running. file separators
are different. correct me if i'm wrong.

windows client (ie) returns C:\mydir\myfile.txt to my linux server. on linux the file separator
is a slash ( / ) and not a backslash ( \ ). so my linux server searches for a slash in the
full filename to get just the filename. but there is none. so it assumes it is the filename
and returns it all.

> 
> 
> On 5/5/05, Mihael Knezevic <m.knezevic@porta.de> wrote:
> > thanks to all the responses for my question.
> > 
> > actually i didn't know that it was a browser "thing". i 
> thought it was 
> > an operating system thing. thanks for clearing this up. and 
> as this is 
> > a browser specific thing IMHO there should be just a change in the 
> > docu where you should add the fact that the IE is not behaving like 
> > any other browser with the method getName. that would be of 
> much help.
> > 
> > and this is the kind of "feature" i don't like of MS software.
> > 
> > Am Mittwoch, 4. Mai 2005 22:02 schrieb Frank W. Zammetti:
> > > I know, I've run into this myself... But, it should be a fairly 
> > > trivial exercise to write code to extract just the filename (as I 
> > > believe you've done).  This makes sense to me as an additional 
> > > method.  That way no existing code gets broken, but newer 
> code can 
> > > use the new method, which works as getName() probably should have 
> > > been working all along anyway (IMHO).
> > >
> > > Frank
> > >
> > > Dakota Jack wrote:
> > > > The data difference is not in the code but in the request data 
> > > > from the browser.  IE puts in the full name and other 
> browsers put 
> > > > in just the name.  Calling [file].getName() gives the 
> same result 
> > > > for all of them.  I don't think there is a way to get a 
> full name 
> > > > from the browsers that send only the file name.  There is no 
> > > > reason, of course, to know the full name.
> > > >
> > > > On 5/4/05, Frank W. Zammetti <fzlists@omnytex.com> wrote:
> > > >
> > > >>It seems to me a method to get JUST the filename makes 
> a lot of sense...
> > > >>what has been the reason for not adding it IN ADDITION 
> to what's 
> > > >>there now?  Unfortunately it would make more sense if getName() 
> > > >>returned just the name while there was another method, maybe 
> > > >>getFullName() that returned what getName() returns now, 
> but that 
> > > >>breaks existing code potentially, so I can certainly 
> see why that 
> > > >>hasn't been done, but adding something like getJustTheName() or 
> > > >>something (obviously there must be a better choice!) 
> makes sense to me.
> > > >>
> > > >>Frank
> > > >>
> > > >>Dakota Jack wrote:
> > > >>
> > > >>>That is an excellent point, Robert.  I often forget 
> how horrible 
> > > >>>it must be to be immeshed in those programming worlds 
> where there 
> > > >>>is no recourse.  Too often we shy away, I think, at changing 
> > > >>>code, even with the Java distribution itself, license 
> issues notwithstanding.
> > > >>>
> > > >>>On 5/4/05, robert burrell donkin 
> > > >>><robertburrelldonkin@blueyonder.co.uk>
> > wrote:
> > > >>>
> > > >>>
> > > >>>>On Wed, 2005-05-04 at 10:26 -0700, Dakota Jack wrote:
> > > >>>>
> > > >>>>
> > > >>>>>Some people think this is a bug and some people 
> think that this 
> > > >>>>>is a feature.
> > > >>>>
> > > >>>><snip>
> > > >>>>
> > > >>>>>That is not a problem, however.  I just went in and 
> changed the 
> > > >>>>>commons upload code adding .getName() to the file at this

> > > >>>>>stage.  The problem you are seeing is in Internet Explorer,

> > > >>>>>right?  Firefox and Netscape return the file name 
> and Internet 
> > > >>>>>Explorer returns the full path.  Anyway, you either have
to 
> > > >>>>>solve the problem in the commons upload code itself, 
> where it 
> > > >>>>>is easy to solve, or to go through some wasted 
> mechanisms after 
> > > >>>>>the fact.  Everyone has to solve this problem 
> somewhere, so I 
> > > >>>>>definitely come down on the side of "bug" versus "feature".
> > > >>>>
> > > >>>>the great thing about open source is that you are free to do

> > > >>>>exactly this :)
> > > >>>>
> > > >>>>- robert
> > 

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message