2010-11-27 python web fieldstorage bottle
Для этого можно наследовать FieldStorage, и использовать нашу версию класса:
import cgi
class MyFieldStorage(cgi.FieldStorage):
def make_file(self, binary=None):
from os import tmpnam
self.tmp_name = tmpnam()
return open(self.tmp_name,'w+b')
# подменяем make_file
def make_file(self, binary=None):
from os import tmpnam
self.tmp_name = tmpnam()
return open(self.tmp_name,'w+b')
import cgi
cgi.FieldStorage.make_file = make_file
# пример загрузки файла
def query_post_upload():
fdata = request.POST['file']
fdata.file.close()
full_fname = './uploads/' + fdata.filename
tmp_name = fdata.tmp_name
os.rename(tmp_name, full_fname)