mirror of
https://gitee.com/bookshelfplus/bookshelfplus
synced 2025-10-24 23:58:53 +08:00
文件上传进度显示完成
This commit is contained in:
@@ -77,10 +77,14 @@
|
|||||||
文件大小: <span id="file-size"></span><br>
|
文件大小: <span id="file-size"></span><br>
|
||||||
文件SHA1: <span id="file-sha1"></span><br>
|
文件SHA1: <span id="file-sha1"></span><br>
|
||||||
</p>
|
</p>
|
||||||
<p>计算文件哈希</p>
|
<p>计算文件哈希进度</p>
|
||||||
<div id="processBar1" class="process-bar" style="">
|
<div id="processBar1" class="process-bar">
|
||||||
<div id="processBar1Inner" class="process-bar-inner"></div>
|
<div id="processBar1Inner" class="process-bar-inner"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<p>文件上传进度</p>
|
||||||
|
<div id="processBar2" class="process-bar">
|
||||||
|
<div id="processBar2Inner" class="process-bar-inner"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button id="beginUpload" disabled="true">开始上传</button>
|
<button id="beginUpload" disabled="true">开始上传</button>
|
||||||
|
|
||||||
@@ -279,6 +283,7 @@
|
|||||||
fileInfo = {};
|
fileInfo = {};
|
||||||
document.getElementById("fileSize").innerHTML = "0";
|
document.getElementById("fileSize").innerHTML = "0";
|
||||||
document.getElementById("processBar1Inner").style.width = 0;
|
document.getElementById("processBar1Inner").style.width = 0;
|
||||||
|
document.getElementById("processBar2Inner").style.width = 0;
|
||||||
document.getElementById("file-name").innerHTML = "";
|
document.getElementById("file-name").innerHTML = "";
|
||||||
document.getElementById("file-ext").innerHTML = "";
|
document.getElementById("file-ext").innerHTML = "";
|
||||||
document.getElementById("file-name-no-ext").innerHTML = "";
|
document.getElementById("file-name-no-ext").innerHTML = "";
|
||||||
@@ -304,13 +309,14 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 获取预授权URL
|
// 获取预授权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) {
|
.then(function (response) {
|
||||||
var axiosData = response.data;
|
var axiosData = response.data;
|
||||||
var status = axiosData.status;
|
var status = axiosData.status;
|
||||||
var data = axiosData.data;
|
var data = axiosData.data;
|
||||||
if (status === "success") {
|
if (status === "success") {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
|
// 取得预授权URL,使用该URL进行文件上传
|
||||||
uploadFile(file, data);
|
uploadFile(file, data);
|
||||||
} else {
|
} else {
|
||||||
alert(`出错啦!${data.errMsg} (错误码: ${data.errCode}) `);
|
alert(`出错啦!${data.errMsg} (错误码: ${data.errCode}) `);
|
||||||
@@ -330,6 +336,17 @@
|
|||||||
// 获取到 Url 后,前端可以这样 ajax 上传
|
// 获取到 Url 后,前端可以这样 ajax 上传
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
xhr.open('PUT', preSignedUrl, true);
|
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) {
|
xhr.onload = function (e) {
|
||||||
console.log('上传成功', xhr.status, xhr.statusText);
|
console.log('上传成功', xhr.status, xhr.statusText);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user