Спасибо за прочтение.
Я новичок в iOS и пытаюсь загрузить изображение и текст, используя multi-part form encoding
iOS.
curl
Эквивалент что - то вроде этого:curl -F "param1=value1" -F "param2=@testimage.jpg" "http://some.ip.address:5000/upload"
Приведенная curl
выше команда возвращает ожидаемый правильный ответ вJSON.
Проблема: я продолжаю получать запрос HTTP 400, что означает, что я делаю что-то не так при составлении тела HTTP POST.
Что я сделал: Для справки я попробовал приложение Flickr API для iOS «Размер POST слишком велик!» и цель C: как загрузить изображение и текст с помощью HTTP POST? . Но я продолжаю получать HTTP 400.
Я попробовал, ASIHttpRequest
но у меня возникла другая проблема (обратный вызов так и не был вызван). Но я не стал исследовать это дальше, так как слышал, что разработчик прекратил поддержку библиотеки: http://allseeing-i.com/[request_release] ;
Может ли кто-нибудь помочь мне?
источник
Ответы:
Вот код из моего приложения для публикации изображения на нашем веб-сервере:
источник
Ответ XJones сработал как шарм.
Но он не упомянул / объявил переменные
_params
,BoundaryConstant
аrequestURL
. Итак, я подумал о том, чтобы опубликовать эту часть как дополнение к его сообщению, чтобы она могла помочь другим в будущем.Как я уже упоминал ранее, это не ответ сам по себе, а просто дополнение к сообщению XJones .
источник
Для HTTP- изображения сообщения и отправки имени пользователя и пароля методом публикации
источник
Используйте AFNetworking; Поместите другие параметры в словарь параметров и добавьте данные изображения в данные формы.
источник
Вот моя аналогичная библиотека сетевого набора для загрузки файлов в виде составной формы:
Используйте делегата для уведомления о ходе загрузки.
Используйте notificationName для уведомления о завершении запроса.
Используйте очередь для добавления этого запроса в вашу очередь операций, чтобы он был обработан вовремя.
источник
вот рабочий быстрый код, переведенный из кода, предоставленного @xjones. Большое спасибо за помощь, приятель. Ваш единственный способ сработал для меня. Я использовал этот метод для отправки 1 изображения и еще одного параметра в веб-сервис, созданный в asp.net
источник
Вот версия Swift. Обратите внимание, что если вы не хотите отправлять данные формы, все равно важно отправить пустую границу формы. В частности, Flask ожидает данные формы, за которыми следуют данные файла, и не будет заполняться
request.files
без первой границы.источник
Загрузите изображение с данными формы, используя класс NSURLConnection в Swift 2.2 :
Примечание: всегда используйте
sendAsynchronousRequest
метод вместоsendSynchronousRequest
загрузки / выгрузки данных, чтобы избежать блокировки основного потока. Здесь я использовал sendSynchronousRequest только для целей тестирования.источник
Я могу показать вам пример загрузив .txt файл на сервер с
NSMutableURLRequest
иNSURLSessionUploadTask
с помощью PHP скрипта.php скрипт
источник
источник