- 先编写一个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) } }) })
- 服务器接收数据
复制代码 #服务器接收的时候,文件被放在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)