jquery +ajax 上传加预览

时间:2023-03-09 01:49:46
jquery +ajax 上传加预览
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="/static/jquery-1.12.4.js"></script> <h3>4.文件上传</h3> <input type="file" id="img" />
<div id="container"></div>
<a class="btn" onclick="AjaxSubmit6()">上传</a> <script>
function AjaxSubmit6() {
//document.getElementById('img')[0]
var data = new FormData();
console.log(data)
data.append('k1','v1');
data.append('k2','v2');
data.append('k3',document.getElementById('img').files[0]);
console.log(data) $.ajax({
url: '/fakeajax',
type: 'POST',
data:data,
success:function (arg) {
var ele=document.createElement('img')
ele.src='/'+arg.url
document.getElementById('container').appendChild(ele)
},
processData: false, // tell jQuery not to process the data
contentType: false // tell jQuery not to set contentType })
} </script> </body>
</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="/fakeajax" 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/jquery-1.12.4.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.url;
$('#preview').empty().append(tag);
}
</script>
</body>
</html>

iframe+form 上传预览