You know, Mihael, the reason it works is that the code is new File(fileName).getName() so that the creation of the file converts to the local separator. Look at the Java source.
You agree? Anyway, I am probably making the thread too long, but I like to compete these things. On 5/6/05, Knezevic, Mihael <[EMAIL PROTECTED]> wrote: > thanks for all the advice. i'll test it. > > > -----Urspr�ngliche Nachricht----- > > Von: Dakota Jack [mailto:[EMAIL PROTECTED] > > Gesendet: Freitag, 6. Mai 2005 09:55 > > An: Jakarta Commons Users List > > Betreff: Re: [FileUpload] Getting wrong filename from FileItem > > > > I tested it out on both file separators (linux and microsoft) > > and it works on both. Just run a test and see if it works. It does > > > > > > public class Test { > > public static void main(String [] params) { > > File ie = new File("C:\\mydir\\myfile.txt"); > > File linux = new File("/mydir/myfile.txt"); > > StdOut.log("log.development","Test ttf ie.getName() = " + > > ie.getName()); > > StdOut.log("log.development","Test ttf linux.getName() = > > " + linux.getName()); } > > > > You should just use System.out.println() of course. > > > > > > On 5/6/05, Knezevic, Mihael <[EMAIL PROTECTED]> wrote: > > > 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:[EMAIL PROTECTED] > > > > 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 <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > -----Urspr�ngliche Nachricht----- > > > > > > Von: Dakota Jack [mailto:[EMAIL PROTECTED] > > > > > > 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 <[EMAIL PROTECTED]> 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 > > <[EMAIL PROTECTED]> 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 > > > > > > > > >>><[EMAIL PROTECTED]> > > > > > > > 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: > > > > > [EMAIL PROTECTED] > > > > > For additional commands, e-mail: > > > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > -- > > > > "You can lead a horse to water but you cannot make it > > float on its > > > > back." > > > > ~Dakota Jack~ > > > > > > > > > > -------------------------------------------------------------------- > > > > - To unsubscribe, e-mail: > > > > [EMAIL PROTECTED] > > > > For additional commands, e-mail: > > > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: > > [EMAIL PROTECTED] > > > > > > > > > > > > -- > > "You can lead a horse to water but you cannot make it float > > on its back." > > ~Dakota Jack~ > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- "You can lead a horse to water but you cannot make it float on its back." ~Dakota Jack~ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
