1、Python django 框架下的word Excel TXT Image 等文件的上传

1、文件上传(input标签)

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

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

(2)jq提交表单到后台

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

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

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

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

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

原文地址:https://www.cnblogs.com/hello-word1/p/5136865.html