這幾個demo是在vue框架中完成的,使用了axios傳送http請求,原理和簡單,都是獲取上傳進度值,控制檢視狀態,其他就是表現形式的不同。
示例如下:
在axios中的配置選項中也提供了對應的介面:
,
ondownloadprogress: function
(progressevent) ,
}
在對應的函式中我們不斷修改progress值就可以實現上傳進度在檢視的體現。
上面前兩種方案使用了html5的標籤和
標籤,
標籤標示任務的進度(程序)。
max
規定要完成多少工作,value
表示已經完成的進度:
:value=progress
max="100"
class="meter">
progress>
原理都是相同的,第三種用了乙個半透明的遮罩層,隨著上傳進圖不斷完成,使用標籤不應用於指示進度(在進度條中)。如果標記進度條,請使用
標籤。
transform
將遮罩層移走
圓環這個稍微麻煩一點,需要對border的知識進行一點回顧。
border實際上是乙個的梯形,將上、右border上色,左、下border透明,再增加border-radius
就出現了乙個傾斜的半圓環
然後旋轉-135°,讓半圓環豎直放置,然後增加動畫效果:
.test
@keyframes test-run
50%, 100%
}
這樣半圓環就旋轉起來了:
接下來要做的就是用乙個和半圓環寬度相同,高度相同的,將透明的另半部分半圓環切掉,再做出乙個對稱的左半個半圓環,就ok了
可以新增乙個背景圓環
class="outer">
class="loader">
class="loader-bg">div>
class="loader-container">
class="loader-circle loader-left-circle loader-left-circle-animation">div>
div>
class="loader-container">
class="loader-circle loader-right-circle loader-right-circle-animation">div>
div>
div>
div>
.loader
.loader-container
.loader-bg
.loader-circle
.loader-left-circle
.loader-left-circle-animation
@keyframes circle-left-run
100%
}.loader-right-circle
.loader-right-circle-animation
@keyframes circle-right-run
50%, 100%
}
這樣乙個不斷旋轉的進度條就出現了:
在vue中,我們將動畫去掉,旋轉角度用變數控制:
class="grid-item4 grid-item">
class="img"
:src="previewimg.src">
class="filter"
v-if="uploading">
class="loader">
class="loader-bg">
class="progress-text progress-text-center">
}p>
div>
class="loader-container">
class="loader-circle loader-left-circle"
:style="deg)`}">
div>
div>
class="loader-container">
class="loader-circle loader-right-circle"
:style="deg)`}">
div>
div>
div>
div>
div>
template>
// todo: 1上傳token
// todo: 2總結
export default ,
max: 100,
uploadfinish: false}},
computed: ,
progresstext() ,
rightangel() ,
leftangel()
},methods: ,
// 重置狀態
resetstatus() ,
// 上傳
async upload() ;
// 上傳進度
let onuploadprogress = (progressevent) => ;
const config = ,
withcredentials: false,
};try /$`;
} catch (e)
},// 獲取上傳憑證
async getuploadtoken() ,
getfromdata(data)
},}script>
js上傳進度
var updater null var libsuffix new array hdx jar function startstatuscheck var subfix element.substring element.lastindexof 1 touppercase if isrightsu...
Java Web開發中上傳檔案進度條的實現
今天登陸乙個php論壇,發現上傳附件時,顯示了檔案上傳的進度條,記起自己以前也研究過在j2ee下上傳檔案顯示進度條的問題,現在整理一下,希望對以後遇到這方面問題的人能夠有所幫助。獲取檔案上傳的進度主要有二個問題需要解決,乙個是上傳檔案後向伺服器獲取當前檔案傳輸進度的問題,另乙個就是伺服器如何計算當前...
jsp中上傳檔案
1.建立jsp 頁面 form action uploadservlet method post enctype multipart form data 用 戶 名 input type text name username 上傳檔案 input type file name file br inp...