It is a multipart yes. I was able to use request.body.read() to read the 
requests' body in other platforms. It looks ok, and everything works. I 
even changed from using FormData in javascript to writing my custom body 
and so on. It all works fine except in iOS. There seems to be some kind of 
problem reading the body. And I can't even know what is there, since the 
server raises the 400 BAD REQ whenever I try to access it....

I don't understand very well how xmlhttprequest works and so on, I am only 
sending text right now, would I be able to solve this problem by changing 
the content-type header? I tried text/plain but that didn't work as 
well.... 

On Friday, March 28, 2014 2:03:31 AM UTC, Massimo Di Pierro wrote:
>
> Is this a normal multipart post request? If not, perhaps you should use 
> request.body.read() and log what is in there.
>
>
> On Thursday, 27 March 2014 07:48:39 UTC-5, ayresrichard wrote:
>>
>>
>> I am developing a web browser application where the user must upload a 
>> image file to a web2py server.
>>
>> I am using the traditional way for file input, which, in the iPad, gives 
>> the option to either upload an existing picture or take a new one from the 
>> camera.
>>
>> var url = "http://please-help-me.com";;          
>> var file = document.getElementById("file").files[0];
>>
>>
>> var fd2 = new FormData();
>> fd2.append("upload", file);
>> fd2.append("id", 123);  
>>
>>
>> var reader = new XMLHttpRequest();
>> reader.open('post',url, true); 
>> reader.onreadystatechange = function() {
>>     console.log("Status:" + reader.status);
>> }
>> reader.send(fd2);
>>
>>
>> This works fine in the desktop browsers, Android browser, but not in the 
>> iPad, where it occasionally gives a 400 Bad Request Error. It doesn't 
>> return the error every time. Just sporadically.
>>
>> Web2py returns this error message:
>>
>>   ERROR:Rocket.Errors.Thread-20:Traceback (most recent call last):
>>   File "/home/mdipierro/make_web2py/web2py/gluon/rocket.py", line 1337, 
>> in run
>>   File "/home/mdipierro/make_web2py/web2py/gluon/rocket.py", line 1838, 
>> in run_a
>> pp
>>   File "/home/mdipierro/make_web2py/web2py/gluon/main.py", line 651, 
>> inapp_with
>> _logging
>>   File "/home/mdipierro/make_web2py/web2py/gluon/main.py", line 532, 
>> inwsgibase
>>   File "/home/mdipierro/make_web2py/web2py/gluon/globals.py", line 252, 
>> in body
>> HTTP: 400 BAD REQUEST
>>
>>
>> Searching in the code, it appears the content of the post message is not 
>> valid and the web2py body function has trouble reading it. The error rises 
>> when I try to read the request.post_vars data
>>
>> I've tested the code without sending the image (and only sending other 
>> data) and it seems to be working every time. Is there a specific parameter 
>> I should add to the request? Why does it work sometimes, but not all the 
>> time?
>>
>> Thanks
>>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to