Django-ajax上传文件(request数据都可以在,request.body中找到)

  1. 先编写一个ajax
    $.(".btn").click(function(){
        #先创建一个FormData,用来存放Form表单数据
        var formdata=new FormData()   
        formdata.append("user",$("#usre").val());#往formdata中添加数据
        formdata.append("avatar",$("#avatar")[0].files[0]);#添加文件数据
        $.ajax({
           url:"",
           type:"post",
           contentType:false, #数据预处理的编码格式
           processData:false,#是否需要数据预处理,ajax上传文件不需要预处理,都交给FormData处理
           data:formdata,
           success:function(data){
                   console.log(data)
    
    } 
    })
    })
  2. 服务器接收数据
    复制代码
    
    #服务器接收的时候,文件被放在request.FILES中,其他数据正常在request.POST中
    
    def file_put(request):
        if request.method=='POST':
            file_obj=request.FILES.get('avatar')#avatar是form表单中的name
            with open(file_obj.name,'wb') as f: #file_obj.name取到的是客户端上传的文件名
                for line in file_obj:
                    f.write(line)
原文地址:https://www.cnblogs.com/wtil/p/9253576.html