Django上传文件的两种方式

基于form表单上传文件

HTML

基于form表单的上传文件

{% csrf_token %}

view

def index(request):
    if request.method=="POST":

        print(request.POST)
        print(request.FILES.get("f"))
        obj=request.FILES.get("f")
        name=obj.name
        f_write=open(name,"wb")
        for  line in obj:
            f_write.write(line)

        return HttpResponse("success")

    return render(request,"index.html")

 

基于Ajax上传文件

FormData是什么呢?

 

XMLHttpRequest Level 2添加了一个新的接口 FormData.利用 FormData对象,我们可以通过JavaScript用一些键值对来模拟一系列表单控件,我们还可以使用XMLHttpRequest的 send()方法来异步的提交这个"表单".比起普通的ajax,使用 FormData的最大优点就是我们可以异步上传一个二进制文件

HTML 

基于ajax的文件上传

{% csrf_token %}

view

def put_ajax(request):

    print(request.POST)
    print(request.FILES)

    return HttpResponse("OK")

 

转载于:https://www.cnblogs.com/iyouyue/p/8424197.html

你可能感兴趣的:(python,javascript)