我使用了文件上传过程。当我单击浏览按钮时,文件将上传到服务器并显示该文件内容,而无需单击提交按钮。当我上传大文件时,上传会花费更多时间。所以我需要实现进度条。我使用了以下代码:
$.ajax({
url: "upload.php",
type: "POST",
data: formdata,
processData: false,
contentType: false,
beforeSend: function() {
status.empty();
var percentVal = '0%';
bar.width(percentVal)
percent.html(percentVal);
$('register').ajaxForm({});
},
onProgress: function(event){
var loaded = event.loaded, total = event.total;
bar.width(parseInt(loaded / total * 100, 10).limit(0, 100) + '%');
},
uploadProgress: function(event, position, total, percentComplete) {
var percentVal = percentComplete + '%';
bar.width(percentVal)
percent.html(percentVal);
},
complete: function(xhr) {
bar.width("100%");
percent.html("100%");
status.html(xhr.responseText);
},
但是进度条没有启动。仅在上传完成 100% 后显示。我需要每一步上传百分比。
问题是以下两个功能。这两个函数没有调用。
onProgress: function(event),
uploadProgress: function(event, position, total, percentComplete)
我参考了以下有用的链接。