python+django实现文件上传

1、文件上传(input标签)

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

表格

(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

Posted in 未分类

发表评论