Ajax文件上传

js
 // 发送文件
      $(".filebtn").click(function () {


          var formdata=new FormData();
          formdata.append("file_obj",$("#file")[0].files[0]);
          formdata.append("user",$("#user").val());

          $.ajax({
              url:"/file_put/",
              type:"post",

              // Ajax上传文件必备参数
              processData: false ,    // 不处理数据
              contentType: false,    // 不设置内容类型

              data:formdata,
              success:function (response) {
                  console.log(response);
                  if (response=="OK"){
                      $(".msg").html("提交成功!")
                  }
              }
          })
          
      })

 

def file_put(request):

    print(request.POST)
    print(request.FILES)
    file_obj=request.FILES.get("file_obj")
    # 文件对象有一个name属性,获取文件名称字符串
    print(file_obj.name)
    path=file_obj.name

    path=os.path.join(settings.BASE_DIR,"media","img",path)
    with open(path,"wb") as f:
        for line in file_obj:
            f.write(line)


    return HttpResponse("OK")
注意: csrf跨站请求伪造 。



posted @ 2018-10-30 17:41  清风_Z  阅读(329)  评论(0编辑  收藏  举报