如何将 UIImage 转换为 Django 理解的数据

How to convert UIImage to data that Django understands

这似乎是一个愚蠢的问题,但我对 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
        ...
    }