Django 休息框架返回 base64 图像 URL 编码

Django rest framework returning base64 image URL encoded

我的观点是 returns image 变量中的 basse64 编码图像:

with open(f"image_file.jpg" , "rb") as image_file:
            order.image = base64.encodebytes(image_file.read()).decode('utf-8')

问题是,如果此代码像 python script.py 一样在本地执行,它 returns 正确的 base64 并且我可以显示它,但是此视图集返回一个 URL 编码的 base64 .它没有返回类似 NMR//9k= 的内容,而是返回 NMR/9k%3D%0A.

我该如何更改?我需要适当的 base64 编码才能在前面显示图像。

我设法通过在模型的序列化器之外为 base64 图像创建一个字典来解决这个问题,这是一个进行 URL 编码的序列化器。我还必须删除换行符,因为响应将它们绘制为字符。

with open(f"image_file.jpg" , "rb") as image_file:
    images_dict["image_1"] = base64.encodebytes(image_file.read()).decode('utf-8').replace("\n", "")