os.path.basename() - only Windows OR *nix?
Larry Bates
lbates at websafe.com
Wed Mar 14 15:27:10 EDT 2007
Thomas Ploch wrote:
> Steve Holden schrieb:
>> Clearly if form['uploadfile'] is returning the client's path information
>> you do have to remove that somehow before further processing, which also
>> means you need to deduce what the client architecture is to correctly
>> remove path data. Of course this also leaves open the question "what
>> does a Mac client return?", and you might want to cater for that also.
>
> I tested from linux and Mac OS, and on both os.path.basename() works as
> expected (since the server it runs on is a UNIX one). That brings me to
> the question, how Do I a) get the cients architecture and b) send the
> architecture of the client through cgi.FieldStorage()?
>
>> I suspect you will also find that there are at least some circumstances
>> under which a Unix browser will also include path information.
>
> Which ones should that be? Since os.path.basename() _is_ doing the right
> thing on *nix style paths (Mac OS is not different there), I cant think
> of other circumstances.
>
>
>> I presume you are looking to use the same filename that the user
>> provided on the client? Does this mean that each user's files are
>> stored in different directories? Otherwise it's not always a good idea
>> to use filenames provided by the user for files on the server anyway.
>
> Yes, each User has his own directory. Files get timestamped and then put
> into the corresponding directory. It is just that having
> 'C:\a\very\long\path\file.ext' as a filename on the server is not nice.
>
> Thomas
>
You will need to write some Javascript and assign something to a hidden
field that gets posted. Here is some Javascript to get you started:
http://www.javascripter.net/faq/operatin.htm
-Larry
More information about the Python-list
mailing list