87,994
社区成员
发帖
与我相关
我的任务
分享
代码就这点
<!DOCTYPE html>
<html>
<head>
<title>上传</title>
<script type="text/javascript" src="/js/jquery.min.js"></script>
<style>
.border{width:200px;border:1px solid #ccc;height:20px;margin-top:20px;}
.progress{color:#FFFFFF;text-align:center}
</style>
</head>
<body>
<form id="uploadForm">
<input type="file" id="resource" name="resource">
<button type="button" onclick="upload()">新建任务</button>
</form>
<p style="margin-top:20px;">上传进度</p>
<div class="border">
<div class="progress"></div>
</div>
上传进度<span id="num"></span><a href="javascript:void(0);" onclick="resetUpload()">取消上传</p>
<script src="/js/upload.js"></script>
</body>
</html>
upload.js
var xhr = new XMLHttpRequest();
function upload(){
$.ajax({
type: "GET",
url: "/gettoken",
success: function(data){
console.log(data);
if(data.status == 1){
submitForm(data.data);
}else{
alert(data.message);
}
}
});
}
function submitForm(token){
var formData = new FormData($( "#uploadForm" )[0]);
$(".progress").css({"height":"20px","background":"green","width":"0px"});
xhr.upload.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = Math.round(evt.loaded * 100 / evt.total);
var width = Math.ceil(percentComplete*2);
$(".progress").css({"width":width+"px"});
console.log("上传中",percentComplete);
$("#num").html(percentComplete+"%");
}else {
$(".progress").css({"width":"200px"});
}
}, false);
xhr.addEventListener("load", function(evt){
var message = evt.target.responseText;
// obj = eval("("+message+")");
// if(obj.status == 1){
// $("#"+fileId).val(obj.picName);
// document.getElementById("show"+fileId+"Me").innerHTML = "已上传";
// alert("上传成功!");
// }else{
// alert(obj.message);
// }
// clearInterval(timer);
console.log("服务器返回",message);
}, false);
//发送请求
//http://www.zhangsheng.com/index.php
xhr.open("POST", "/upload?token="+token);
xhr.send(formData);
}
/**
* 取消上传
* @returns {undefined}
*/
function resetUpload(){
xhr.abort();
}