【发布时间】:2017-11-13 15:01:42
【问题描述】:
我有一个非常简单的上传脚本,但它不会触发进度。它只会触发一次progress 方法,当文件完成时它会触发complete 并打印done!
Chrome 58.0.3029.110 (64-bit)
Firefox 53.0.3 (32-bit)
也尝试上传较大的文件,但progress方法仍然只触发一次
https://github.com/blueimp/jQuery-File-Upload
测试
代码
<!DOCTYPE html>
<html lang="da">
<head>
<meta charset="utf-8">
</head>
<body>
<script src="//code.jquery.com/jquery-3.2.1.min.js" integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f" crossorigin="anonymous"></script>
<script src="//code.jquery.com/ui/1.12.0/jquery-ui.min.js" integrity="sha256-eGE6blurk5sHj+rmkfsGYeKyZx3M4bG+ZlFyA7Kns7E=" crossorigin="anonymous"></script>
<script src="/upload/js/blueimp/jquery.fileupload.min.js"></script>
<form id="upload_form" enctype="multipart/form-data" method="post" action="/upload/">
<input id="upload_input" type="file" name="files[]">
<input type="hidden" name="send" value="1">
</form>
<div id="upload_console"></div>
<script>
'use strict';
$(function(){
var div = $('#upload_console')
$('#upload_form').fileupload({
fileInput : $('#upload_input'),
progress : function(e, data){
//console.log(data.loaded);
//console.log(parseInt(data.loaded / data.total * 100, 10));
div.append('<div>'+data.loaded+'</div>')
},
complete : function(e, data){
//console.log('done');
div.append('<div>done!</div>')
}
});
});
</script>
</body>
</html>
【问题讨论】:
-
为我工作(演示站点)。您使用的是哪个浏览器?据此:github.com/blueimp/jQuery-File-Upload/wiki/… 它可能无法在某些浏览器中运行。
-
我使用 Chrome 版本 58.0.3029.110(64 位)
-
你试过我的测试了吗?
-
是的,我试过了。
-
在 Firefox 和 Chrome 中试过了.. 不行
标签: javascript jquery file-upload blueimp jqxhr