ajax之---上传图片和预览
Posted 小孩没穿鞋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax之---上传图片和预览相关的知识,希望对你有一定的参考价值。
views.py
def upload_img(request):
nid=str(uuid.uuid4())
ret={‘status‘:True,‘data‘:None,‘message‘:None}
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))
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.btn{
display: inline-block;
padding: 5px 10px;
background-color: coral;
color: white;
}
</style>
</head>
<body>
<iframe style="display: none" id="iframe1" name="ifra1"></iframe>
<form id="fm1" action="/upload_img.html" method="POST" enctype="multipart/form-data" target="ifra1">
<input type="file" name="k3" onchange="uploadFile();" />
</form>
<h3>预览</h3>
<div id="preview">
</div>
<script src="/static/js/jquery-3.1.1.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);
var tag = document.createElement(‘img‘);
tag.src = obj.data;
$(‘#preview‘).empty().append(tag);
}
</script>
</body>
</html>
以上是关于ajax之---上传图片和预览的主要内容,如果未能解决你的问题,请参考以下文章
HTML5可预览多图片ajax上传(使用formData传递数据)
HTML5可预览多图片ajax上传(使用formData传递数据)