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