"Joey C." wrote: > Here is a basic overview of the variables included there. > > params = cgi.FieldStorage() > I accidentally made a mistake when typing what the "thefile" variable > is. > thefile = params["upfile"].file > "upfile" is the CGI field that contains the file that I'm uploading. > As you can see, the if statement just compares two values, > os.path.getsize(thefile) and conf["upmax"], a variable I set that is > designated as the maximum file size allowed. > > I'm assuming that this is all the information you need. I'm sorry for > not including it earlier; I was in a bit of a rush. ^.^
and I'm sorry for not noticing the error: os.path.getsize takes a filename, but the file attribute contains a file handle, and that UnicodeError is what you get if you pass the wrong thing to os.path.getsize. e.g: >>> os.path.getsize(None) < 1000 Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:\Python23\lib\ntpath.py", line 228, in getsize return os.stat(filename).st_size TypeError: coercing to Unicode: need string or buffer, NoneType found (here, the full traceback reveals that the problem is inside getsize, and not in the comparision. the error message itself isn't exactly helpful, though...) the file handle is usually a real (but temporary) file, so you should be able to get the size by seeking to the end of the file: file = params["upfile"].file file.seek(0, 2) size = file.tell() file.seek(0) # rewind inspecting the headers attribute might also help. </F> -- http://mail.python.org/mailman/listinfo/python-list