Python+django实现文件上传

yipeiwu_com7年前Python基础

1、文件上传(input标签)

 (1)html代码(form表单用post方法提交)

<input class="btn btn-primary col-md-1" style="margin:0px 15px 25px 15px;" id="submitForm" type="button" value="提交" />
<form id="picture_form" action="/addForm/"enctype="multipart/form-data" method="post">
 <table>
   表格
 </table>
</form>

(2)jq提交表单到后台

 $("#submitForm").click(function(){
   //alert($("#SelectBus").val());
   addNameForm();//因为是动态加载的表单内容,所以会用函数给所用标签符name值
   $.ajaxSetup({
     async : false
   });
   $("#picture_form").ajaxSubmit({
     resetForm:false,
     dataType:'json',
     success:function(data){
       if(data=1){alert("提交成功");}
       else{alert("提交失败");}
     }
   });
 });

(3)python后台接受处理表单所传内容,主要file处理

 #自定义存储路径
 rollfileName="webStatic/uploadfile/files/"
 rollfilePath=os.path.join(basePath,rollfileName)
 # req.POST.get(text[1],'')如果获取到信息,则值不是123,如果是空,没有获取到信息结果是123
 if req.POST.get(text[1],'123')=='123':
   # 获取文件二进制流
   reqfile = req.FILES[text[1]]
   # 获取文件名后缀
   filetype=reqfile.name.split(".")[-1]
   # 生成随机字符串加后缀的文件名
   filename=str(uuid.uuid1())+'.'+filetype
   # 打开文件存储路径
   of = open(rollfilePath+filename, 'wb+')
   # 向指定路径写入文件
   for chunk in reqfile.chunks():
     of.write(chunk)#写入内容
   of.close()#关闭连接

18 #在数据库中存储路径rollfileName+filename

(4)python后台处理用到的包

 1 #生成无序字符串,替换文件名

 2 import uuid

相关文章

浅谈Python脚本开头及导包注释自动添加方法

浅谈Python脚本开头及导包注释自动添加方法

1、开头:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定 #!/usr/bin/python 是用来说明脚本语言是python的 是要...

Python直接赋值、浅拷贝与深度拷贝实例分析

Python直接赋值、浅拷贝与深度拷贝实例分析

本文实例讲述了Python直接赋值、浅拷贝与深度拷贝。分享给大家供大家参考,具体如下: 直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内...

Python实现App自动签到领取积分功能

Python实现App自动签到领取积分功能

要自动签到,最简单的是打开页面分析请求,然后我们用脚本实现请求的自动化。但是发现食行没有页面,只有 APP,这不是一个好消息,这意味着需要抓包处理了。 下面的操作就好办了,在电脑端的...

JPype实现在python中调用JAVA的实例

一、JPype简述 1.JPype是什么? JPype是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 python 在某些领域(如服务器端编程)中的不足。...

Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子

scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络攻击和测试中。 这里就直接用python的scapy搞。 这里是ar...