文件上传-ajax

index.html

<body>
    <form action="/file_put/" method="post" enctype="multipart/form-data">
        {% csrf_token %}
        用户名:<input type="text" name="user" id="user">
        上传:<input type="file" name="file" id="file">
        <input type="button" value="提交" class="filebtn">
    </form>

    <script>
        $(".filebtn").click(function () {

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

            $.ajax({
                url:"/file_put/",
                type:"post",
                processData: false ,    // 不处理数据
                contentType: false,    // 不设置内容类型
                data:formdata,
                success:function (response) {
                    console.log(response)
                }
            })
        })
    </script>

</body>

 view.py

# 文件上传
from ORM import settings
import os
def file_put(request):

    print(request.FILES)
    file_obj=request.FILES.get("file_obj")

    path=file_obj.name

    print("base_dir",settings.BASE_DIR)
    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")
发布了39 篇原创文章 · 获赞 6 · 访问量 2019

猜你喜欢

转载自blog.csdn.net/weixin_45493345/article/details/100901967