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