Solicitud incorrecta upload image en iPad / iOS al server web2py

Estoy desarrollando una aplicación de browser web donde el usuario debe upload un file de image a un server web2py.

Estoy usando la forma tradicional de ingresar files, que, en el iPad, ofrece la opción de cargar una image existente o tomar una nueva desde la camera.

<input id='file-input' type='file' accept='image/*' name='fileUpload' onchange='fileSelected(); /> 

Y el javascript correspondiente para cargar:

 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); 

Esto funciona bien en los browseres de escritorio, el browser de Android, pero no en el iPad, donde de vez en cuando genera un 400 Bad Request Error . No devuelve el error cada vez. Solo esporádicamente

Web2py devuelve este post de error:

  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, in app_with _logging File "/home/mdipierro/make_web2py/web2py/gluon/main.py", line 532, in wsgibase File "/home/mdipierro/make_web2py/web2py/gluon/globals.py", line 252, in body HTTP: 400 BAD REQUEST 

Al search en el código, aparece que el contenido del post no es válido y la function del body web2py tiene problemas para leerlo. El error aumenta cuando bash leer los datos request.post_vars

He probado el código sin enviar la image, y solo enviando otros datos, y parece funcionar cada vez. ¿Hay un parámetro específico que debería agregar a la request? ¿Por qué funciona a veces, pero no todo el time?

Gracias

Intereting Posts