zoukankan      html  css  js  c++  java
  • ajax上传文件简单案例

    urls.py

    urlpatterns = [
        path('admin/', admin.site.urls),
        # ajax 相关
    path("ajax_temp/", views.ajax_temp), path("upload/", views.upload), ]

     

    views.py

    import os
    def upload(request):
        print(request.POST)
        print(request.FILES)
        # print(request.body)  # 会报错
    
        file_obj = request.FILES.get('file_name')
        name = file_obj.name
        with open(os.path.join("media", name), "wb") as f:
            for i in file_obj:
                f.write(i)
        return HttpResponse('上传成功')
    

      

    ajax_temp.html

    <h3>form表单上传文件</h3>
    <form action="/upload/" method="POST" enctype="multipart/form-data">
        {% csrf_token %}
        <input type="text" id="user" name="user">
        <input type="file" id="file1" name="file_name">
        <button id="btn5">ajax上传文件</button>
        <input type="submit">
    </form>
    
    
    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
    
    <script>
    
    {#ajax上传文件#}
        $("#btn5").click(function () {
            var formdata = new FormData();
            formdata.append("csrfmiddlewaretoken", $("[name='csrfmiddlewaretoken']").val());
            formdata.append("file_name", $("#file1")[0].files[0]);
            $.ajax({
                url: "/upload/",
                type: "post",
                processData: false,  // 告诉jQuery不要去处理发送的数据
                contentType: false,  // 告诉jQuery不要去设置Content-Type请求头
                data: formdata,
                success: function (data) {
                    console.log(data);
                }
            })
        })
    
    
    </script>
    

      

  • 相关阅读:
    js021-Ajax与Comet
    Android之应用程序基础
    Android之项目的目录结构
    Android之ContentProvider组件
    Android之BroadcastReceiver组件
    Android之Activity组件
    Android之Service组件
    2.绘制简单的几何图形
    1.一个简单的OpenGL程序
    2.由深拷贝和浅拷贝引发的写时拷贝技术
  • 原文地址:https://www.cnblogs.com/eliwen/p/13280312.html
Copyright © 2011-2022 走看看