JS中上傳進度提示

2021-08-27 05:21:34 字數 3524 閱讀 3899

這幾個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...