在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 上传图片文件等 前端显示相关推荐

  1. Django的form组件提交时错误不显示或无法提交

    出现的问题:在学习django的form组件时,对不符合form组件定义的字段无法提交,进而导致无法显示出自定义的错误信息.(因为无法提交就代表着数据没有传给后台,然后你的错误回显是在后台对数据的检验 ...

  2. django返回excel文件给前端下载

    Django使用openpyxl返回excel文件给前端下载 虚拟环境导入 pip install openpyxl views.py代码: import datetime from openpyxl ...

  3. Django的Form表单

    Django的Form表单 Django Form  Form介绍 Form 表单是在前端向后端提交数据最常用的方式,同时在好多场景下都需要对用户的输入进行校验. 以注册为例,Form 需要的三件事: ...

  4. 建站四部曲之前端显示篇(React+上线)

    本系列分为四篇: 建站四部曲之后端接口篇(SpringBoot+上线) 建站四部曲之Python数据爬虫篇(selenium) 建站四部曲之前端显示篇(React+上线) 建站四部曲之移动端篇(And ...

  5. Django基础11(Django中form表单)

    Form介绍 之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入 ...

  6. django之Form表单

    HTML表单 在HTML中,表单是<form>...</form> 之间元素的集合,它们允许访问者输入文本.选择选项.操作对象和控制等等,然后将信息发送回服务器. 某些表单的元 ...

  7. Django中Form组件的使用

    Form介绍 HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入 ...

  8. ajax异步上传图片文件并将其转换为base64格式

    ajax异步上传图片文件并将其转换为base64格式 高级浏览器上面,可以直接使用html5的FileReader,实现获取上传文件的base64格式,并以字符串形式提交.对于IE9以下的浏览器,就得 ...

  9. Django Admin 上传多张图片并显示缩略图

    Django Admin 上传多张图片并显示缩略图 文章目录 Django Admin 上传多张图片并显示缩略图 1.效果预览 2.自定义Widget 3.定义模型和模型表单 3.1 定义模型 3.2 ...

最新文章

  1. Worktile CTO 管理经验分享:如何在研发团队落地OKR?研发团队目标如何管理?
  2. 取得NSDate实例各个字段的数字
  3. document、body对象的事件
  4. SpringBoot项目打成jar包后,无法读取resources下的文件
  5. oracle时间类型转化成java对象_Oracle数据库date类型与Java中Date的联系与转化
  6. #抵抗3#(#Resistance 3#) 绝对值得体验的冒险历程
  7. 【Leetcode | 12】342. 4的幂
  8. JDK 11 还有一个处于计划阶段的 JEP:让其支持 TLS 1.3
  9. 【华为云技术分享】《跟唐老师学习云网络》— iptables - filter过滤功能
  10. jmeter 加密解密_AES加密的安全问题
  11. 脑子好,蹦两下!--程序员应该玩的小游戏
  12. java本地方法如何调用其他程序函数,方法详解
  13. Java 代码精简之道 | 凌云时刻
  14. 解决 微信小程序 滚动 事件穿透 问题
  15. Python之路(一)
  16. java代码打出一只狗_牛逼!这位程序员开发出一“舔狗”必备神器(代码已开源)!...
  17. 用Python编写账号密码登录程序
  18. ros分布式多机通信完整教程
  19. IT又一蚂蚁金服面经
  20. ev1527 hs2240 ht12e 301无线解码仪

热门文章

  1. 【转】游戏开发高度图有关资料与Balder中的相关支持
  2. Python编程:实现凯撒密码加密解密
  3. 滑铁卢大学计算机专业就业,克服艰难 收获滑铁卢大学计算机专业offer
  4. 关于登陆界面背景图片缩放变形的解决方法
  5. 迅为IMX6Q开发板 Buildroot文件系统mqtt测试
  6. 上海财经大学如何构建量化高频数据中心?
  7. 面对流氓HR,新人该注意什么
  8. 自己写php木马,自己写的php木马webshell扫描器
  9. 图形学(2)光栅图形学的直线绘制(上)
  10. windows7 为系统盘瘦身