javascript - 文件大小的进度指示器

标签 javascript

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

最佳答案

来自关于 Monitoring Progress 的 MDN 页面:

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.");
}

关于javascript - 文件大小的进度指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29304991/

相关文章:

javascript - 当用户在其中键入时,所选值不会添加到文本区域内的现有文本

javascript - 为什么这个 javascript 的权限被拒绝?

javascript - 如何使用工具栏选项在 Quill js 上添加字体类型?

javascript - 超出最大调用堆栈大小

Javascript:将日期转换为 UTC 格式

javascript - setInterval添加多个svg元素,x位置相对性

javascript - 使用 HTML 和 Javascript 的剩余天数

javascript - 尽管有伪造的 getBoundingClientRect(),您如何将事件坐标转换为 SVG 坐标?

javascript - addEventListener 在 firefox 中工作但在 chrome 中不工作

javascript - 如何连接2个数组中的数据