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

相关文章

PyQt 实现使窗口中的元素跟随窗口大小的变化而变化

PyQt 实现使窗口中的元素跟随窗口大小的变化而变化

* 如果要实现这种视觉状态,那么就需要使用布局的方法。 创建一个控件后,在主窗口上右击选择布局(layout) Lay Out Horizontally : 纵向布局 Lay Out...

浅谈MySQL中的触发器

在很多时候,干得利索不如想的明白。方案应该根据场景来设计,不是盲目的依靠经验,当然这也算新经验!    需求是把公司的几套公共系统做成通过邮箱用户名和密码认证,只需记...

Python 安装第三方库 pip install 安装慢安装不上的解决办法

Python 安装第三方库 pip install 安装慢安装不上的解决办法

今天来说一下,有些刚刚接触python的朋友,在使用pip install安装python 第三方库的过程中 会出现网速很慢,或者是安装下载到中途,停止,卡主,或者是下载报错等问题。如下...

python set内置函数的具体使用

set集合 无序可变 由不同元素组成 其元素必须为可哈希的类型(通俗来说不可变类型) 集合的两种定义方式 使用{} Eg:{1,2,3,4,5} 使用set(可...

Python绘图Matplotlib之坐标轴及刻度总结

Python绘图Matplotlib之坐标轴及刻度总结

学习https://matplotlib.org/gallery/index.html 记录,描述不一定准确,具体请参考官网 Matplotlib使用总结图 import ma...