Django Iframe +Form 上传图片文件等 前端显示
在Django中 Iframe + Form 上传文件 图片并预览
后端views.py
def upload(request):return render(request,'upload.html')import json,os,uuid
def upload_img(request):nid=str(uuid.uuid4()) # 防止文件名称相同ret={"status":True,"data":None,"message":None}#data存储在服务器的路径obj = request.FILES.get("k3")file_path=os.path.join("static",nid+obj.name)f=open(file_path,'wb')for line in obj.chunks(): #上传文件到服务器端f.write(line)f.close()ret["data"]=file_path #将文件所在的路径返回给前端return HttpResponse(json.dumps(ret))
前端显示 upload.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><iframe style="display: none" id="iframe1" name="ifra1"></iframe>
<form id="fm1" action="/upload_img" method="POST" enctype="multipart/form-data" target="ifra1"><input type="file" name="k3" onchange="uploadFile()" />
</form>
<div id="preview">//显示图片的位置
</div><script src="/static/plugins/bootstrap/js/jquery-3.1.1.min.js"></script>
<script>function uploadFile() {document.getElementById('iframe1').onload = reloadIframe1;document.getElementById('fm1').submit();}function reloadIframe1() {var content = this.contentWindow.document.body.innerHTML;var obj = JSON.parse(content);console.log(obj.data); //obj.data 获取后端图片的路径var tag=document.createElement("img");tag.src=obj.data;$("#preview").empty().append(tag) //先清空内容在添加}</script>
</body>
</html>
Django Iframe +Form 上传图片文件等 前端显示相关推荐
- Django的form组件提交时错误不显示或无法提交
出现的问题:在学习django的form组件时,对不符合form组件定义的字段无法提交,进而导致无法显示出自定义的错误信息.(因为无法提交就代表着数据没有传给后台,然后你的错误回显是在后台对数据的检验 ...
- django返回excel文件给前端下载
Django使用openpyxl返回excel文件给前端下载 虚拟环境导入 pip install openpyxl views.py代码: import datetime from openpyxl ...
- Django的Form表单
Django的Form表单 Django Form Form介绍 Form 表单是在前端向后端提交数据最常用的方式,同时在好多场景下都需要对用户的输入进行校验. 以注册为例,Form 需要的三件事: ...
- 建站四部曲之前端显示篇(React+上线)
本系列分为四篇: 建站四部曲之后端接口篇(SpringBoot+上线) 建站四部曲之Python数据爬虫篇(selenium) 建站四部曲之前端显示篇(React+上线) 建站四部曲之移动端篇(And ...
- Django基础11(Django中form表单)
Form介绍 之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入 ...
- django之Form表单
HTML表单 在HTML中,表单是<form>...</form> 之间元素的集合,它们允许访问者输入文本.选择选项.操作对象和控制等等,然后将信息发送回服务器. 某些表单的元 ...
- Django中Form组件的使用
Form介绍 HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入 ...
- ajax异步上传图片文件并将其转换为base64格式
ajax异步上传图片文件并将其转换为base64格式 高级浏览器上面,可以直接使用html5的FileReader,实现获取上传文件的base64格式,并以字符串形式提交.对于IE9以下的浏览器,就得 ...
- Django Admin 上传多张图片并显示缩略图
Django Admin 上传多张图片并显示缩略图 文章目录 Django Admin 上传多张图片并显示缩略图 1.效果预览 2.自定义Widget 3.定义模型和模型表单 3.1 定义模型 3.2 ...
最新文章
- Worktile CTO 管理经验分享:如何在研发团队落地OKR?研发团队目标如何管理?
- 取得NSDate实例各个字段的数字
- document、body对象的事件
- SpringBoot项目打成jar包后,无法读取resources下的文件
- oracle时间类型转化成java对象_Oracle数据库date类型与Java中Date的联系与转化
- #抵抗3#(#Resistance 3#) 绝对值得体验的冒险历程
- 【Leetcode | 12】342. 4的幂
- JDK 11 还有一个处于计划阶段的 JEP:让其支持 TLS 1.3
- 【华为云技术分享】《跟唐老师学习云网络》— iptables - filter过滤功能
- jmeter 加密解密_AES加密的安全问题
- 脑子好,蹦两下!--程序员应该玩的小游戏
- java本地方法如何调用其他程序函数,方法详解
- Java 代码精简之道 | 凌云时刻
- 解决 微信小程序 滚动 事件穿透 问题
- Python之路(一)
- java代码打出一只狗_牛逼!这位程序员开发出一“舔狗”必备神器(代码已开源)!...
- 用Python编写账号密码登录程序
- ros分布式多机通信完整教程
- IT又一蚂蚁金服面经
- ev1527 hs2240 ht12e 301无线解码仪