Как вы загружаете сырое изображение с помощью AJAX? - PullRequest
1 голос
/ 14 июня 2011

В настоящее время я получаю изображение в кодировке base64 с камеры мобильного устройства с помощью PhoneGap. Я хотел бы загрузить изображение на сервер, чтобы затем сохранить его. Не уверен, что правильный подход?

Как и ожидалось, если я пытаюсь включить в качестве параметра строку base64, я получаю сообщение об ошибке 414 (слишком большой URI-запрос)

Ответы [ 3 ]

3 голосов
/ 17 июня 2011

Даже если вы используете POST, сервер, принимающий POST, должен быть способен декодировать параметр base64.К счастью, API PhoneGap предоставляет лучший способ сделать это с помощью FileTransfer .

. Вам нужно получить дескриптор файла для изображения вместо кодировки base64.Использование дескриптора файла решает проблему вывода ошибки JavaScript из памяти.Это также устраняет любые проблемы межсайтового скриптинга, так как PhoneGap использует собственный код для выполнения публикации вместо использования браузера.Надеюсь, это поможет.

2 голосов
/ 20 июня 2011

Я согласен с Чаком, вам лучше использовать объект FileTransfer. Большие строки Base64 будут вызывать ошибки нехватки памяти в вашем приложении. Зак имеет хороший учебник по этому вопросу:

http://zacvineyard.com/blog/2011/03/25/upload-a-file-to-a-remote-server-with-phonegap/

1 голос
/ 14 июня 2011

Почему бы не использовать HTTP POST вместо HTTP GET?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...