Как преобразовать UIImage в данные, которые понимает Django
Может показаться глупым вопросом, но у меня проблема с UIImage.
.
Мое приложение взаимодействует с сервером Django, и для этого я использую Alamofire. Мне нужно передать изображение, но я не знаю, как преобразовать UIImage в соответствующие данные, чтобы сервер мог их понять.
В настоящее время мой код выглядит следующим образом:
let param = ["image": image] // <- 'image' is a UIImage
AF.request(method: .post, parameters: param) // and so on
Сервер говорит, что форма недействительна. Для моего сервера я использую форму, которая выглядит следующим образом:
class UploadImageForScanForm(forms.Form):
image = forms.ImageField()
Как я могу преобразовать UIImage в соответствующий формат данных, чтобы мой сервер Django мог понять его и выполнить свою работу с ним?
Поскольку это "форма", я полагаю, что вы должны отправить многокомпонентную форму с изображением в ней, используя метод POST, а не GET запрос.
let image = // get your UIImage in some way
guard let png = image.pngData() else {
// there is no PNG representation for the UIImage
// you can also try jpegData
return
}
AF.upload(multipartFormData: { form in
form.append(png, withName: "image", fileName: "image.png", mimeType: "image/png")
}, to: someURL)
// and then you can get the response in whatever way you like
.responseFoo { response in
...
}