我有一个base-64字符串,我把它发送到routesviews.py
,然后用代码把它解码回来
image_data = request.POST.get('image_data')
pattern = r'^data:(?P<mime_type>[^;]+);base64,(?P<image>.+)$'
result = re.match(pattern, image_data)
if result:
mime_type = result.group('mime_type')
image = result.group('image').decode('base64')
saveImage = uploadImage(image=image, imageMime=mime_type)
saveImage.save()
一旦解码,我需要保存到项目中的文件夹,而不是本地。但是,当我调用.save()时,我得到一个编码错误:DjangoUnicodeDecodeError: 'utf8' codec can't decode byte 0x89 in position 0: invalid start byte. You passed in '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x
。你知道吗
我需要剥离的PNG部分,这个工作?你知道吗
我的模型如下:
class uploadImage(models.Model):
image = models.ImageField(upload_to='Gallery')
imageMime = models.CharField(max_length=50)
您正在将
ImageField
设置为bytestring;它需要一个stream对象(或一个文件的路径,IIRC)。尝试用BytesIO
包装,例如你需要
from io import BytesIO
在你的视图.py. 你知道吗相关问题 更多 >
编程相关推荐