[mod_python] file question with mod_python

Tom Emerson tree at basistech.com
Thu Apr 11 16:14:14 EST 2002


Christopher Sean Hilton writes:
> I'm trying to create a script to handle a file upload from a form with 
> mod_python. I know that I should be looking into the util module but I've 
> really got no clue about how to get started. Has anyone got some words of 
> wisdom to put me on the right track?

I've done this using publisher: it's certainly the easiest way.

Given a form along the lines of:

<form action="process.py/doit" method="POST" enctype="multipart/form-data">
<b>Filename</b>: <input type="file" name="file">
</form>

And a form handler "doit" in process.py:

def doit(req, file):
    # ...

The 'file' argument is a file object representing the uploaded file:
you can read from this as you would any other file.

You should check to make sure that the file has a non-zero length:

import os, stat
statinfo = os.fstat(file.fileno())
if statinfo[stat.ST_SIZE] > 0:
    # process the text
else:
    # it's an empty file, or it didn't exist!

You should also look at the content type of the uploaded file. You can
access this via the form table in the request record:

_file = req.form['file']
if _file.type == "text/plain":
    # process plain text

That should be enough to get you started, I expect.

    -tree

-- 
Tom Emerson                                          Basis Technology Corp.
Sr. Computational Linguist                         http://www.basistech.com
  "Beware the lollipop of mediocrity: lick it once and you suck forever"



More information about the Mod_python mailing list