zoukankan      html  css  js  c++  java
  • Python 文件上传base64图片

    解决图片上传问题:

    一、from体发送

      1、HTML

        在表单中加入enctype="multipart/form-data;

        关于表单中enctype的介绍:http://www.w3school.com.cn/tags/att_form_enctype.asp

        处理表单的视图会在request中接受到上传文件的数据。FILES是个字典,它包含每个FileField的键

        (或者ImageField,FileField的子类)。这样的话就可以用request.FILES['File']来存放表单中的这些数据了。 

        注意request.FILES只有在请求方法为POST,并且发送请求的<form>拥有enctype="multipart/form-data属性时,

        才会包含数据。否则request.FILES为空

      2、view处理

        可以直接拿到定义的files对象,直接存到数据库中

        还可以

        

     webImg = image.get("webImg")
        PATH = os.path.join(MEDIA_ROOT, webImg.name)
        with open(PATH, "wb+") as f:
            for i in webImg.chunks():
                f.write(i)

    二、ajax发送base64

      

    import base64
    image = data.get("brief_image") # 获取base64编码 strs = re.match('^data:image/(jpeg|png|gif);base64,', image) # 正则匹配出前面的文件类型去掉 image = image.replace(strs.group(), '') imgdata = base64.b64decode(image) #转换成图片对象 a, b = str(time.time()).split(".") path = os.path.join(os.path.join(settings.BASE_DIR, settings.MEDIA_ROOT, "activities", activity_name, "ticket"), a + ".jpg") brief_image = os.path.join("activities", activity_name, "ticket", a + ".jpg") file = open(path, 'wb') file.write(imgdata) # 保存图片 file.close()

      

      

      

     

  • 相关阅读:
    zoj1137 poj1466
    poj3041
    zoj1455
    hdu1160 FatMouse's Speed
    zoj2770
    hdu1469
    hdu3169
    Mapped exception to response: 500 (Internal Server Error)
    Mapped exception to response: 500 (Internal Server Error)
    object is not a function
  • 原文地址:https://www.cnblogs.com/sunkai1993/p/8194391.html
Copyright © 2011-2022 走看看