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:43:46 GMT
i can not figure out how this should work. this is a web application. linux and windows clients
are accessing the app. the filename can be /mydir/myfile.txt and C:\mydir\myfile.txt. how
should the server know which file separator to use. hmm. i could take a look at the http request
data. ain't there a field for the operating system. but that ain't something i like to do.
these things are always changing.

i'll try your code later. thanks.

> -----Urspr√ľngliche Nachricht-----
> Von: Dakota Jack [mailto:dakota.jack@gmail.com] 
> Gesendet: Freitag, 6. Mai 2005 09:34
> An: Jakarta Commons Users List
> Betreff: Re: [FileUpload] Getting wrong filename from FileItem
> 
> This code should definitely work.  If it does not, I sure 
> would like to know what happens.  What did happen?  Did you debug it?
> 
> 
> 
> On 5/6/05, Knezevic, Mihael <m.knezevic@porta.de> wrote:
> > 
> > 
> > > -----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
> > 
> > 
> 
> 
> --
> "You can lead a horse to water but you cannot make it float 
> on its back."
> ~Dakota Jack~
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
> 
> 

---------------------------------------------------------------------
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