1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Django Iframe +Form 上传图片文件等 前端显示

Django Iframe +Form 上传图片文件等 前端显示

时间:2023-12-28 05:06:00

相关推荐

Django   Iframe +Form   上传图片文件等 前端显示

在Django中 Iframe + Form 上传文件 图片并预览

后端views.py

def upload(request):return render(request,'upload.html')import json,os,uuiddef 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>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。