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