1、文件上传(input标签)
(1)html代码(form表单用post方法提交)
1
2
3
4
5
6
|
< 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提交表单到后台
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$( "#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处理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#自定义存储路径
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