Python+django实现文件上传

时间:2021-05-22

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章