文件大小的进度指示器

时间:2015-03-27 15:59:50

标签: javascript

我有一个文件" file.json"我知道是1MB。在javascript中有什么方法当我对文件执行ajax请求时,我可以根据文件的大小显示进度条吗? (即如果客户已经检索到500KB,进度条显示50%,等等?

1 个答案:

答案 0 :(得分:2)

在MDN页面上关于Monitoring Progress

var oReq = new XMLHttpRequest();

oReq.addEventListener("progress", updateProgress, false);
oReq.addEventListener("load", transferComplete, false);
oReq.addEventListener("error", transferFailed, false);
oReq.addEventListener("abort", transferCanceled, false);

oReq.open();

// ...

// progress on transfers from the server to the client (downloads)
function updateProgress (oEvent) {
  if (oEvent.lengthComputable) {
    var percentComplete = oEvent.loaded / oEvent.total;  // THIS IS WHAT YOU NEED
    // ...
  } else {
    // Unable to compute progress information since the total size is unknown
  }
}

function transferComplete(evt) {
  alert("The transfer is complete.");
}

function transferFailed(evt) {
  alert("An error occurred while transferring the file.");
}

function transferCanceled(evt) {
  alert("The transfer has been canceled by the user.");
}