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()

  

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM