zoukankan      html  css  js  c++  java
  • python之form表单上传文件

    文件上传
    -----form表单上传文件

    看下代码就完事了

    def up_load(request):
        if request.method == "GET":
        获取数据库的数据
            imglist=models.Image.objects.all()
            return render(request, "upload.html",{"imageL":imglist})
        elif request.method == "POST":
            user = request.POST.get("user")
            haha = request.POST.get("ha")
            # 上传图片
            obj = request.FILES.get("ha")
            print(obj.name, obj.size)
            # f=open(obj.name,'wb')
            import os
            filepath = os.path.join("static","image", obj.name)#图片的路径
            # f=open(os.path.join("upload",obj.name),'wb')
            #将路径存入数据库
            models.Image.objects.create(path=filepath)
            f = open(filepath, 'wb')
            for chunk in obj.chunks():
                f.write(chunk)
            f.close()
    
            print(user, haha)
            return render(request, "upload.html")

    html代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form method="POST" action="/upload/" enctype="multipart/form-data">
        <input type="text" name="user"/>
        <input type="file" name="ha"/>
        <input type="submit" value="提交"/>
    </form>
    <div>
    {#<img style="height: 200px; 200px; background: /static/image/1-1G1201AJ9.jpg" src=""/>#}
        {% for item in imageL %}
            <img style="height: 200px; 200px" src="/{{ item.path }}"/>
        {% endfor %}
    </div>
    </body>
    </html>

    --------Ajax上传文件

    悄悄的上传

    • xmlHttpRequest
    xml=new XMLHttpRequest();#定义一个对象
                     xml.open("post","/upload/",true)#以post方式传到url,true表示异步的。
                     xml.send("k1=v1;k2=v2")#字符串的形式发送
    •  jQuery  
     $.ajax({
                          url:
                          data:{'k1':'v1','k2':'v2'}
                    })
                 FormData对象                                                            可以承载字符串,也可以承载文件
                          dict=new FormData                                             #创建了一个dict对象
                          dict.append('k1','v1');                                          #生成键值对
                          dict.append('k2','v2');
                          dict.append('hahahh',文件对象);

    --------基于form表单和iframe自己实现ajax请求

    iframe实现局部刷新

      <input type="text" id="url"/>
               <input type="button" value="点我" onclick="iframe_Change();"/>
               <iframe  id="ifr" src=""></iframe>
                 
                 
                 function iframe_Change() {
                          var url=$('#url').val();
                          $('#ifr').attr('src',url);
    
        } 
  • 相关阅读:
    Android(java)学习笔记204:JNI之native方法头文件的生成
    Linux学习笔记01:Linux下的drwxr-xr-x
    Java基础知识强化49:10个实用的但偏执的Java编程技术
    大数据笔记12:Hadoop安装之安装JDK
    大数据笔记11:MapReduce的运行流程
    大数据笔记10:大数据之Hadoop的MapReduce的原理
    大数据笔记09:大数据之Hadoop的HDFS使用
    大数据笔记08:云计算(云)
    Java基础知识强化48:Java中哈希码
    hdu 1397 (素数判定)
  • 原文地址:https://www.cnblogs.com/ssxblog/p/10626723.html
Copyright © 2011-2022 走看看