国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

圖片和視頻的上傳(文件上傳通用)

這篇具有很好參考價(jià)值的文章主要介紹了圖片和視頻的上傳(文件上傳通用)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

流程如下:
1、先引入el-upload
2、調(diào)用上傳前事件
3、上傳前事件中將file文件轉(zhuǎn)formData
4、調(diào)用后端oss接口上傳文件
5、上傳完成后回顯數(shù)據(jù)
6、點(diǎn)擊圖片/視頻預(yù)覽


圖片和視頻的上傳(文件上傳通用)

<el-upload class="upload-demo" action="" :file-list="fileList"  :before-upload="beforeAvatarUpload">
    <el-button icon="el-icon-upload" size="small" type="primary">
        上傳
    </el-button>
</el-upload>

beforeAvatarUpload為文件上傳前的操作,該方法中會(huì)攜帶一個(gè)參數(shù)filefile就是當(dāng)前上傳的文件,我們需要用new FormData()轉(zhuǎn)為file文件格式,調(diào)用后端接口上傳圖片。

beforeAvatarUpload(file) {
     let formData = new FormData();
     formData.append('file',file)
     // 調(diào)用oss后端接口
    ossUpload(formData).then(el=>{
       // 上傳成功后的回調(diào):el,該參數(shù)內(nèi)的url就是http的訪問(wèn)地址,將該方法存儲(chǔ)到回顯的數(shù)據(jù)中
     this.upload(el.data)
    }).catch(err=>{console.log(err)})
      
},
 upload(val) {
    // 此處可以校驗(yàn)上傳的格式,如果視頻格式不是mp4則會(huì)提示
   if(val.fileSuffix != ".mp4"){
       return this.$message.error('視頻格式不正確')
    }
   // console.log(11111,val,val.fileSuffix)
   this.dataList.push({
     fiParentId: this.parentId,
     fvEstateType: this.info.fvEstateType,
     fiTaskType: this.info.fiTaskType,
     fvUrl: val.url,
     fiType: "",
     fvName: "",
     fvRemark: "",
     fiSort: 0,
     id: 0
   })
}

圖片的上傳也是一樣的,此時(shí)圖片上傳和視頻上傳的一般流程就結(jié)束了,頁(yè)面列表中遍歷dataList即可回顯數(shù)據(jù)。

關(guān)于圖片點(diǎn)擊放大回顯

點(diǎn)擊列表圖片,通過(guò)作用域插槽將圖片的url地址保存到dialogImageUrl中,在彈框中即可回顯。

<!-- 圖片 -->   
<el-dialog :visible.sync="dialogVisible" width="80%" top="1%">
      <img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>

視頻的回顯方式相同

<el-dialog :visible.sync="dialogVisible" width="80%" top="1%">
  <video
        :src="dialogVideoUrl"
        controls
        autoPlay
        preload="auto"
        width="100%"
        height="1000px"
      >
   </video>
</el-dialog>

在這里需要注意的是,這種方法只適用于單張圖片或小視頻文件的上傳,大文件并不適合,大文件的上傳需要考慮數(shù)據(jù)切片,以及斷點(diǎn)續(xù)傳。

在這里提一下數(shù)據(jù)切片的思路,我們上傳文件時(shí)會(huì)有一個(gè)文件大小,比如一個(gè)文件有1MB大小,我們一次只上傳600kb,那么切片的文件大小就是600kb,在上傳的時(shí)候?qū)⒂?jì)算文件大小 1MB / 600kb 向上取整 = 2,切片數(shù)量就是2,在通過(guò)循環(huán)切片上傳,每次上傳一個(gè)切片,當(dāng)所有切片上傳完時(shí),任務(wù)結(jié)束。


下面提一下斷點(diǎn)續(xù)傳:

實(shí)現(xiàn)斷點(diǎn)續(xù)傳(斷點(diǎn)下載)

實(shí)現(xiàn)斷點(diǎn)續(xù)傳(斷點(diǎn)下載)可以提高文件下載的效率和穩(wěn)定性,特別對(duì)于大文件或不穩(wěn)定的網(wǎng)絡(luò)環(huán)境更為重要。以下是前端實(shí)現(xiàn)斷點(diǎn)續(xù)傳的一般步驟:

1、支持服務(wù)器端:首先,確保服務(wù)器端支持?jǐn)帱c(diǎn)續(xù)傳。服務(wù)器應(yīng)當(dāng)能夠處理帶有Range和Content-Range頭部的請(qǐng)求,并能夠正確返回指定區(qū)間的數(shù)據(jù)。

2、計(jì)算上次下載進(jìn)度:在前端,需要記錄上次下載的進(jìn)度,以便在斷點(diǎn)續(xù)傳時(shí)從上次斷開(kāi)的地方繼續(xù)下載??梢允褂胠ocalStorage或sessionStorage來(lái)存儲(chǔ)上次下載的進(jìn)度。

3、發(fā)起下載請(qǐng)求:在前端,通過(guò)創(chuàng)建一個(gè)XMLHttpRequest對(duì)象或使用fetchAPI來(lái)發(fā)起下載請(qǐng)求。同時(shí),設(shè)置Range頭部,指定下載的起始位置。

4、接收響應(yīng):當(dāng)服務(wù)器響應(yīng)下載請(qǐng)求時(shí),獲取響應(yīng)的狀態(tài)碼和響應(yīng)頭部信息。如果狀態(tài)碼為 206(Partial Content),表示服務(wù)器支持?jǐn)帱c(diǎn)續(xù)傳,并且返回了指定區(qū)間的數(shù)據(jù)。如果沒(méi)有響應(yīng)206狀態(tài)碼,則需要重新從頭開(kāi)始下載。

5、保存已下載的數(shù)據(jù):在接收到響應(yīng)后,將返回的數(shù)據(jù)保存下來(lái)??梢允褂肂lob或ArrayBuffer對(duì)象來(lái)保存二進(jìn)制數(shù)據(jù)。

6、更新下載進(jìn)度:在接收到每個(gè)數(shù)據(jù)塊后,更新下載進(jìn)度??梢酝ㄟ^(guò)計(jì)算已下載的數(shù)據(jù)大小和總文件大小的比例來(lái)表示下載進(jìn)度,并將其顯示在用戶界面上。

7、保存斷點(diǎn)信息:在每次下載進(jìn)度更新時(shí),同時(shí)將已下載的數(shù)據(jù)大小和總文件大小保存到本地存儲(chǔ)中,以便下次繼續(xù)下載時(shí)使用。

8、處理下載完成:當(dāng)下載完成時(shí),根據(jù)需要進(jìn)行相應(yīng)的操作,例如保存文件、提示用戶下載完成等。

9、處理下載錯(cuò)誤:在下載過(guò)程中可能會(huì)發(fā)生網(wǎng)絡(luò)錯(cuò)誤或其他問(wèn)題,需要通過(guò)錯(cuò)誤處理機(jī)制來(lái)處理這些情況??梢员O(jiān)聽(tīng)XMLHttpRequest對(duì)象的onerror事件或使用catch方法捕捉fetchAPI的錯(cuò)誤,并根據(jù)需要進(jìn)行相應(yīng)的處理和重試操作。

斷點(diǎn)續(xù)傳原文鏈接:https://blog.csdn.net/weixin_55846296/article/details/131455411

element tree組件連接線以及懶加載 (??點(diǎn)擊直達(dá))
再也不用擔(dān)心組件跨層級(jí)的數(shù)據(jù)共享和方法驅(qū)動(dòng)了 (??點(diǎn)擊直達(dá))
前端換膚,聊一聊主題切換那些事(??點(diǎn)擊直達(dá))
echarts數(shù)據(jù)可視化-動(dòng)態(tài)折線堆積圖 (??點(diǎn)擊直達(dá))
vue3使用百度地圖(??點(diǎn)擊直達(dá))

如果覺(jué)得這篇文章對(duì)你有幫助,歡迎點(diǎn)贊??、收藏??、轉(zhuǎn)發(fā)?哦~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-719538.html

到了這里,關(guān)于圖片和視頻的上傳(文件上傳通用)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 關(guān)于如何通過(guò) postman 發(fā)起上傳文件的請(qǐng)求,postman上傳圖片視頻

    關(guān)于如何通過(guò) postman 發(fā)起上傳文件的請(qǐng)求,postman上傳圖片視頻

    我們通常會(huì)使用 postman 發(fā)起請(qǐng)求,測(cè)試數(shù)據(jù)。有些請(qǐng)求將圖片,視頻等文件上傳到服務(wù)器,如何通過(guò) postman 實(shí)現(xiàn)上傳文件呢? 定義請(qǐng)求方式和請(qǐng)求路徑 請(qǐng)求體選擇 body body 下選擇 form-data 在參數(shù)中輸入 file key 值輸入完 file 后,在下拉框中選擇 file 此時(shí) value 會(huì)顯示一個(gè) Select

    2024年02月11日
    瀏覽(22)
  • vue+springboot 上傳文件、圖片、視頻,回顯到前端。

    vue+springboot 上傳文件、圖片、視頻,回顯到前端。

    預(yù)覽: 視頻: 分成兩部,1.通過(guò)前端將文件的基本信息傳送到后端進(jìn)行儲(chǔ)存,返回已儲(chǔ)存的文件id,2.再將文件發(fā)送到后端儲(chǔ)存。 儲(chǔ)存文件信息 上傳文件對(duì)象 這個(gè)我放在d盤(pán)下面,需要修改映射路徑

    2023年04月19日
    瀏覽(26)
  • vue 集成tinymce2實(shí)現(xiàn)圖片,視頻以及文件的上傳

    vue 集成tinymce2實(shí)現(xiàn)圖片,視頻以及文件的上傳

    1. 安裝插件 (1)安裝tinymce npm install tinymce -S (2)安裝tinymce-vue npm install @tinymce/tinymce-vue@3.0.1 -S 2. 復(fù)制靜態(tài)文件到 public 目錄 資源下載路徑:https://download.csdn.net/download/weixin_44021888/88063970?spm=1001.2014.3001.5503 3. 新建組件:tinymce 注意:如果上傳過(guò)后的視頻,只有一張圖片的占位

    2024年02月16日
    瀏覽(59)
  • 微信小程序上傳文件(可傳 word、excel、ppt、視頻、圖片……)

    微信小程序上傳文件(可傳 word、excel、ppt、視頻、圖片……)

    近期做技術(shù)調(diào)研時(shí)發(fā)現(xiàn)微信官方支持文件上傳了,這里記錄一下 官方 API:wx.chooseMessageFile(Object object) 交互:從微信聊天里選擇文件(選一個(gè)好友/群聊,從你們聊天記錄里的文件里選) 點(diǎn)紅框是預(yù)覽,點(diǎn)右上角圓圈才是選中(昨天做技術(shù)調(diào)研時(shí)點(diǎn)紅圈部分是預(yù)覽,搞得我還以

    2024年02月11日
    瀏覽(23)
  • unity上傳大文件(例如.mp4視頻/png圖片)優(yōu)化部分,采用文件流方式

    unity上傳大文件(例如.mp4視頻/png圖片)優(yōu)化部分,采用文件流方式

    1.unity客戶端 ? ? 2.服務(wù)器端 ? 3.注意: 需要結(jié)合上一篇文章,目前親測(cè)可以上傳800M的視頻,不到6秒還是挺快的! ?

    2024年02月16日
    瀏覽(27)
  • uniApp移動(dòng)端-H5-微信小程序上傳文件(圖片,文檔和視頻等)

    封裝了一個(gè)插件可直接使用: 插件地址:uniApp移動(dòng)端-H5-小程序上傳文件(圖片,文檔和視頻等),插件可直接用Hbuilderx導(dǎo)入示例項(xiàng)目查看, 實(shí)現(xiàn)方法: H5內(nèi)部是使用uni-app官方內(nèi)部方法uni.chooseFile 小程序端因hybrid不能使用本地HTML,所以插件提供的是uni-app官方內(nèi)部方法wx.cho

    2024年02月12日
    瀏覽(100)
  • vue3 - element-plus 上傳各種 word pdf 文件、圖片視頻并上傳到服務(wù)器功能效果,示例代碼開(kāi)箱即用。

    vue3 - element-plus 上傳各種 word pdf 文件、圖片視頻并上傳到服務(wù)器功能效果,示例代碼開(kāi)箱即用。

    在 vue3 項(xiàng)目中,使用 element plus 組件庫(kù)的 el-upload 上傳組件,進(jìn)行文件、圖片圖像的上傳功能示例。 可直接復(fù)制,再改個(gè)接口地址。 在這里上傳

    2024年02月15日
    瀏覽(53)
  • 【日常積累】Linux下sftp搭建

    SFTP是Secure File Transfer Protocol的縮寫(xiě),是安全文件傳送協(xié)議??梢詾閭鬏斘募峁┮环N安全的加密方法。跟ftp幾乎語(yǔ)法功能一樣。 SFTP是SSH的一部分,是一種傳輸檔案至Blogger伺服器的安全方式。它本身沒(méi)有單獨(dú)的守護(hù)進(jìn)程,必須使用sshd守護(hù)進(jìn)程來(lái)完成相應(yīng)的連接操作,所以從某

    2024年02月02日
    瀏覽(17)
  • 【日常積累】HTTP和HTTPS的區(qū)別

    【日常積累】HTTP和HTTPS的區(qū)別

    在運(yùn)維面試中,經(jīng)常會(huì)遇到面試官提問(wèn)http和https的區(qū)別,今天咱們先來(lái)簡(jiǎn)單了解一下。 超文本傳輸協(xié)議HTTP被用于在Web瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息,HTTP協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文,就

    2024年02月12日
    瀏覽(15)
  • 【日常積累】Linux之init系統(tǒng)學(xué)習(xí)

    【日常積累】Linux之init系統(tǒng)學(xué)習(xí)

    Linux 操作系統(tǒng)的啟動(dòng)首先從 BIOS 開(kāi)始,接下來(lái)進(jìn)入 boot loader,由 bootloader 載入內(nèi)核,進(jìn)行內(nèi)核初始化。內(nèi)核初始化的最后一步就是啟動(dòng) pid 為 1 的 init 進(jìn)程,這個(gè)進(jìn)程是系統(tǒng)的第一個(gè)進(jìn)程,它負(fù)責(zé)產(chǎn)生其他所有用戶進(jìn)程。 init是Linux系統(tǒng)操作中不可缺少的程序之一。 所謂的in

    2024年02月12日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包