Python+django实现文件上传


Posted in Python onJanuary 17, 2016

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对字典进行排序实例
Sep 25 Python
安装Python的web.py框架并从hello world开始编程
Apr 25 Python
python实现获取Ip归属地等信息
Aug 27 Python
python绘制条形图方法代码详解
Dec 19 Python
Flask框架信号用法实例分析
Jul 24 Python
利用Django提供的ModelForm增删改数据的方法
Jan 06 Python
Python pandas.DataFrame 找出有空值的行
Sep 09 Python
Python的缺点和劣势分析
Nov 19 Python
Django 实现对已存在的model进行更改
Mar 28 Python
Numpy 理解ndarray对象的示例代码
Apr 03 Python
python利用faker库批量生成测试数据
Oct 15 Python
Python字符串的转义字符
Apr 07 Python
初步剖析C语言编程中的结构体
Jan 16 #Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
Jan 16 #Python
python实现发送和获取手机短信验证码
Jan 15 #Python
详解python单例模式与metaclass
Jan 15 #Python
理解python正则表达式
Jan 15 #Python
Python工程师面试题 与Python Web相关
Jan 14 #Python
Python工程师面试题 与Python基础语法相关
Jan 14 #Python
You might like
PHP导入Excel到MySQL的方法
2011/04/23 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
PHP实现百度人脸识别
2019/05/06 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
对vux点击事件的优化详解
2018/08/28 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
javascript实现手动点赞效果
2019/04/09 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
vue解决使用$http获取数据时报错的问题
2019/10/30 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
Python 面向对象 成员的访问约束
2008/12/23 Python
python ip正则式
2009/05/07 Python
Python中__init__和__new__的区别详解
2014/07/09 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
python调用百度地图WEB服务API获取地点对应坐标值
2019/01/16 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
出国留学计划书
2014/04/27 职场文书
推广活动策划方案
2014/08/23 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL