Как отправить словарь [String: Any] в составной API? - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь отправить данные из нескольких частей, используя Alamofire с параметрами [String: Any], я могу только публиковать [String:String] только параметры

Для [String:String] выполняется https://stackoverflow.com/a/40440371/4466607

но теперь я должен опубликовать как: [PayLoad], и я должен отправить изображение с ключом image, который я уже делаю.

В почтальоне все работает нормально enter image description here

Вопрос : Как опубликовать изображение с типом словаря [String:Any] в Swift Пожалуйста, помогите

Ответы [ 2 ]

0 голосов
/ 04 июня 2019

Грубый раствор:
Если вы настаиваете на том, чтобы поместить данные изображения в словарь, вы можете преобразовать данные изображения в код Base64, а затем поместить строку Base64 в словарь. Вы отправите большой JSON на сервер. Я не думаю, что это хорошее решение.

Лучшее решение:
Другой WebApi для отправки данных изображений, и этот API будет возвращать URL-адрес загруженных изображений, например https://www.example.com/image1234.jpg, или просто возвращать идентификатор изображения, например «1234», который в последнее время может быть встроен в URL-адрес. Наконец, вы отправляете данные JSON с URL-адресом изображения или идентификатором, например {"image":"https://www.example.com/image1234.jpg"} или {"image":1234}.

0 голосов
/ 04 июня 2019

Если ваше значение равно Любому типу, проверьте, может быть, оно вам поможет.

for (key, value) in params {
  let paramsData:Data = NSKeyedArchiver.archivedData(withRootObject: value)
  formData.append(paramsData, withName: key)
}
...