commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dakota Jack <dakota.j...@gmail.com>
Subject Re: [FileUpload] Getting wrong filename from FileItem
Date Fri, 06 May 2005 06:51:24 GMT
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. 
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();
    }



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


Mime
View raw message