python django 前端上傳圖片,后端以二進制流形式保存到數據庫


models.py

    pic = models.BinaryField()

html  ajax 上傳請求

$('#jbwwtj').click(function(){
            var formdata = new FormData();
            formdata.append("wwid",$("#jbwwid").val());
            formdata.append("jbidtp",$('input[type=radio][name=jbidtp]:checked').val());
            formdata.append("jbwwpic",$("#jbwwpic")[0].files[0]);
            $.ajax({
                url:'/search/wwjb/',
                type:'POST',
                contentType: false,
                processData: false,
                data:formdata,
                success:function(arg){
                    alert(arg)

 

view.py

 pic = request.FILES.get('pic')   # 獲取圖片
 img=pic.read()           #將圖片轉為二進制  ,可直接存儲在數據庫中
models.pic.objects.create( pic=img)

前端顯示操作如下:

views.py

 ret=sqlhelp.get_list("select * from home_jb_ww_sh where 1 = 1 limit 10",[])
            for i in range(len(ret)):
                need_base=str(base64.b64encode(ret[i]['pic']))[1:].strip("'")   #64位編碼
                ret[i]['pic']=need_base

html

success:function(data){
                    data=JSON.parse(data);
                    var html='';
                    for(var i=0;i<data.length;i++){
                        var da=data[i];
                        var nid=i;
                        html +="<div>qq:"+da.ww+"</div><div>類型:"+da.tp+"</div><div>備注:"+da.phone+"</div><div>圖片:<img src='data:image/png;base64,"+da.pic+"'/></div><div><input type='button' value='審核通過' id='"+nid+"'/><input type='button' value='證據不足' id='1"+nid+"'/></div>";
                        <!--$('#xstp1').attr('src','data:image/png;base64,'+da.pic)-->
                    }
                    $("#test5").html(html)

 


免責聲明!

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



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