如何使图像数据JSON可序列化,然后将其转换回来,以便将其保存为图像。
我收到错误:<InMemoryUploadedFile: image.jpg (image/jpeg)> is not JSON serializable
def imageFileView(request):
form = ImageFileForm(request.POST or None, request.FILES or None)
if request.method == 'POST':
if form.is_valid:
image = request.FILES.get('image')
image_file = request.session['image_file'] = image
return redirect('picxs:create')
def imageView(request):
img_file = request.session.get('image_file')
img_temp = NamedTemporaryFile('w')
img_temp.write(img_file)
img_temp.flush()
form = SaveImageForm(request.POST or None, request.FILES or None)
if request.post == 'POST':
if form.is_valid:
instance = form.save(commit=False)
instance.image.save(img_filename, File(img_temp), save = True)
答案 0 :(得分:1)
Error in mutate_impl(.data, dots) :
Evaluation error: argument "y" is missing, with no default.
这应该适用于将图像存储在内存中
或使用img_file = request.session.get('image_file')
json.dumps(str(my_imagefield))
base64
答案 1 :(得分:0)
您有几个选项,您使用的选项会因您的使用情况而异。
您可以获取图像的原始字节并返回序列化的字节数组数组。
您可以获取图像的原始字节并将字节转换为十六进制并返回十六进制字符串。
或者您可以获取图像的原始字节并将字节转换为base64字符串并返回base64字符串。
作为旁注,InMemoryUploadedFile
是获取您需要使用的实际文件的包装.file