mirror of
https://gitee.com/bookshelfplus/bookshelfplus
synced 2025-09-16 23:22:20 +08:00
文件上传进度显示完成
This commit is contained in:
@@ -77,10 +77,14 @@
|
||||
文件大小: <span id="file-size"></span><br>
|
||||
文件SHA1: <span id="file-sha1"></span><br>
|
||||
</p>
|
||||
<p>计算文件哈希</p>
|
||||
<div id="processBar1" class="process-bar" style="">
|
||||
<p>计算文件哈希进度</p>
|
||||
<div id="processBar1" class="process-bar">
|
||||
<div id="processBar1Inner" class="process-bar-inner"></div>
|
||||
</div>
|
||||
<p>文件上传进度</p>
|
||||
<div id="processBar2" class="process-bar">
|
||||
<div id="processBar2Inner" class="process-bar-inner"></div>
|
||||
</div>
|
||||
</div>
|
||||
<button id="beginUpload" disabled="true">开始上传</button>
|
||||
|
||||
@@ -279,6 +283,7 @@
|
||||
fileInfo = {};
|
||||
document.getElementById("fileSize").innerHTML = "0";
|
||||
document.getElementById("processBar1Inner").style.width = 0;
|
||||
document.getElementById("processBar2Inner").style.width = 0;
|
||||
document.getElementById("file-name").innerHTML = "";
|
||||
document.getElementById("file-ext").innerHTML = "";
|
||||
document.getElementById("file-name-no-ext").innerHTML = "";
|
||||
@@ -304,13 +309,14 @@
|
||||
return;
|
||||
}
|
||||
// 获取预授权URL
|
||||
postRequest("/file/cos/put", { token: localStorageUtils.getToken(), fileName: "test.a", expireMinute: 30 })
|
||||
postRequest("/file/cos/put", { token: localStorageUtils.getToken(), fileName: fileInfo.fileSha1, expireMinute: 30 })
|
||||
.then(function (response) {
|
||||
var axiosData = response.data;
|
||||
var status = axiosData.status;
|
||||
var data = axiosData.data;
|
||||
if (status === "success") {
|
||||
console.log(data);
|
||||
// 取得预授权URL,使用该URL进行文件上传
|
||||
uploadFile(file, data);
|
||||
} else {
|
||||
alert(`出错啦!${data.errMsg} (错误码: ${data.errCode}) `);
|
||||
@@ -330,6 +336,17 @@
|
||||
// 获取到 Url 后,前端可以这样 ajax 上传
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('PUT', preSignedUrl, true);
|
||||
xhr.upload.onprogress = function (e) {
|
||||
// e.lengthComputable是一个布尔值,表示当前上传的资源是否有可计算的长度
|
||||
if (e.lengthComputable) {
|
||||
// 计算出上传的进度
|
||||
// e.loaded 已传输的字节
|
||||
// e.total 需传输的总字节
|
||||
var procentComplete = Math.ceil((e.loaded / e.total) * 100);
|
||||
document.getElementById("processBar2Inner").style.width = `${procentComplete}%`;
|
||||
console.log("上传进度", procentComplete);
|
||||
}
|
||||
};
|
||||
xhr.onload = function (e) {
|
||||
console.log('上传成功', xhr.status, xhr.statusText);
|
||||
};
|
||||
|
Reference in New Issue
Block a user