Python+django實現(xiàn)文件上傳
更新時間:2016年01月17日 14:51:52 投稿:hebedich
本系列以可操作性為主,介紹如何通過django web框架來實現(xiàn)一些簡單的功能。每一篇文章都具有完整性和獨立性。使用新手在動手做的過程中體會web開發(fā)的過程,過程中細節(jié)請參考相關文檔。
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();//因為是動態(tài)加載的表單內容,所以會用函數(shù)給所用標簽符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 #在數(shù)據庫中存儲路徑rollfileName+filename
(4)python后臺處理用到的包
1 #生成無序字符串,替換文件名
2 import uuid
相關文章
Python中matplotlib庫安裝失敗的經驗總結(附pycharm配置anaconda)
最近根據領導布置的學習任務,開始學習python中的matplotlib,朋友告訴我這個很簡單,然而剛踏入安裝的門檻,就遇到了安裝不成功的問題,下面這篇文章主要給大家介紹了關于Python中matplotlib庫安裝失敗的經驗總結,需要的朋友可以參考下2022-08-08
Python基于DB-API操作MySQL數(shù)據庫過程解析
這篇文章主要介紹了Python基于DB-API操作MySQL數(shù)據庫過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04

