zoukankan      html  css  js  c++  java
  • Django ajax 上传文件

    这里只列出关键部分

    urls.py

    urlpatterns = [
        # 其他
        path('file_put/', views.file_put),
    ]
    

    views.py

    def file_put(request):
        if request.method == "POST":
            #print("body-->", request.body)
            print("POST-->", request.POST)
            print(request.POST.get("user"))
            print(request.FILES)
            # dowload file code
            file_obj = request.FILES.get("avatar")
            with open(file_obj.name, "wb") as f:
                for line in file_obj:
                    f.write(line)
            return HttpResponse("OK")
    
        return render(request, "upload.html")
    

    upload.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h3>基于Ajax的文件上传</h3>
    
    <form action="" method="post" enctype="multipart/form-data">
         用户名 <input type="text" id="user">
         头像 <input type="file" id="avatar">
         <input type="button" class="btn" value="Ajax">
    </form>
    
    <script src="/static/jquery-3.3.1.min.js"></script>
    <script>
         $(".btn").click(function () {
             var formdata = new FormData();
             formdata.append("user", $("#user").val());
             formdata.append("avatar", $("#avatar")[0].files[0]);
             $.ajax({
                 url:"/file_put/",
                 type:"post",
                 contentType:false,
                 processData:false,
                 data:formdata,
                 success:function (data) {
                     console.log(data);
                 }
             });
         });
    </script>
    </body>
    </html>
    


  • 相关阅读:
    linux性能查看调优
    免密登录
    nginx配置
    Samba
    硬RAID与软RAID的区别
    LVM-扩容目录
    解决表面磁盘满,而实际没有大文件的问题
    LINUX下的JENKINS+TOMCAT+MAVEN+GIT+SHELL环境的搭建使用(JENKINS自动化部署)
    Docker 容器使用
    docker基础
  • 原文地址:https://www.cnblogs.com/klvchen/p/12575023.html
Copyright © 2011-2022 走看看