Django - 从模板保存base64图像到静态目录

1 投票
1 回答
2363 浏览
提问于 2025-04-18 05:55

我在想,是否可以把我从模板生成的图片保存到 MEDIA_URL 里?我的图片是用 base64 格式生成的,我想给它起个名字,然后把它保存为 png 或 jpeg 格式到 MEDIA_URL。

<img id="canvasImg" style="display:none;" src="data:image/png;base64,iVB...">

我的图片是通过 html2canvas 这个脚本生成的。然后我用这个函数把画布转换成图片:

function canvas2img(){
      html2canvas(document.getElementById("bg"), {
        onrendered: function(canvas) {      
          canvas.setAttribute("id", "canvas");
          var dataURL = canvas.toDataURL('image/png', 1.0);
          document.getElementById('canvasImg').src = dataURL;  
        }
      })
   };

谢谢!

1 个回答

2

我这里不打算贴完整的代码,只给你一些指导,内容来自StackOverflow:

首先,你需要通过AJAX把你的base64格式的图片发送到Django:https://stackoverflow.com/a/13198699/263989

然后在AJAX函数中获取这个base64数据:

from django.http import HttpResponse
def get_bas64(request):
    if request.is_ajax():
        # process the image
        return HttpResponse('')

接下来,使用PIL把base64字符串转换成图片,具体方法可以参考这里:https://stackoverflow.com/a/19911883/263989

撰写回答