我正在尝试使用base64将图像从ios发送到我的django服务器。所有部分似乎工作正常并且没有错误,但保存在django服务器中的图像已损坏。 下面是我的ios代码:
let imageData:NSData = UIImageJPEGRepresentation(image, 0.5)! as NSData
let strBase64 = imageData.base64EncodedString(options: .endLineWithCarriageReturn)
其中image是UIImage。然后我将json {' image',strBase64}发送到我的django服务器。在下面,您可以找到django端的代码。这是一个叫做的函数:
from base64 import b64decode
@csrf_exempt
def up(request):
imageStr = request.POST.get('image','')
if imageStr != '':
image_data = b64decode(imageStr)
Images.objects.create(pic = ContentFile(image_data,'image.jpg'))
return HttpResponse("Image received.")
return HttpResponse("No image received.")
我的模型是这样的:
class Images(models.Model):
pic = models.ImageField("Image", upload_to = "images/")
upload_date = models.DateTimeField(auto_now_add = True)
我的django版本是1.10。我读了类似的问题和答案,但没有一个能解决我的问题。