Loading an image in Python using AjaxUpload

I am trying to use AjaxUpload with Python: http://valums.com/ajax-upload/

I would like to know how to access the downloaded file using Python. The website says:

* PHP: $_FILES['userfile'] * Rails: params[:userfile] 

What is the syntax for Python?

request.params ['userfile'] does not seem to work.

Thanks in advance! Here is my current code (using PIL imported as an image)

 im = Image.open(request.params['myFile'].file) 
+4
source share
3 answers

in django, you can use:

 request.FILES['file'] 

instead:

 request.POST['file'] 

I did not know how to do this in pylons ... maybe this is the same concept.

0
source
 import cgi #This will give you the data of the file, # but won't give you the filename, unfortunately. # For that you have to do some other trick. file_data = cgi.FieldStorage.getfirst('file') #<IGNORE if you're not using mod_python> #(If you're using mod_python you can also get the Request object # by passing 'req' to the relevant function in 'index.py', like "def func(req):" # Then you access it with req.form.getfirst('file') instead. NOTE that the # first method will work even when using mod_python, but the first FieldStorage # object called is the only one with relevant data, so if you pass 'req' to the # function you have to use the method that uses 'req'.) #</IGNORE> #Then you can write it to a file like so... file = open('example_filename.wtvr','w')#'w' is for 'write' file.write(file_data) file.close() #Then access it like so... file = open('example_filename.wtvr','r')#'r' is for 'read' #And use file.read() or whatever else to do what you want. 
+1
source

I work with Pyramid and I tried to do the same. After a while I came up with this solution.

 from cStringIO import StringIO from cgi import FieldStorage fs = FieldStorage(fp=request['wsgi.input'], environ=request) f = StringIO(fs.value) im = Image.open(f) 

I'm not sure if this is โ€œcorrectโ€, but it seems to work.

+1
source

All Articles