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

aliyun-oss-sdk阿里云OSS視頻上傳(斷點(diǎn)續(xù)傳)前端實(shí)現(xiàn)

這篇具有很好參考價(jià)值的文章主要介紹了aliyun-oss-sdk阿里云OSS視頻上傳(斷點(diǎn)續(xù)傳)前端實(shí)現(xiàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

問(wèn)題背景

最近上傳視頻的功能,突然炸了,兩年沒(méi)動(dòng)的代碼,突然不行遼,首次上傳成功,后面繼續(xù)上傳就可以,但凡有一次上傳失敗,再上傳文件就不行。

這里博主使用的是憑證上傳方式哈。

憑證上傳

官方文檔:Web(JavaScript)上傳SDK

查看了官方文檔,確實(shí)是提到了,如使用1.5.3之前版本重新上傳,請(qǐng)修改待上傳文件名稱,不要與上傳中斷的文件重名,避免報(bào)錯(cuò)。

aliyun-sdk-oss,阿里云,前端,云計(jì)算

項(xiàng)目使用的確實(shí)是1.5.0版本,所以我首先是把upload-sdk升級(jí)到了1.5.5

如果需要下載對(duì)應(yīng)版本,可以看這里:Javascript上傳SDK

upload-sdk升級(jí)之后,oss-sdk用的依然是6.8.0,這時(shí)候上傳還是不行,首次上傳可以成功,但是如果有重復(fù)名稱的文件,再次上傳,就會(huì)一直失敗,報(bào)404

aliyun-sdk-oss,阿里云,前端,云計(jì)算

升級(jí)版本

詢問(wèn)了阿里云技術(shù)人員,被告知1.5.5對(duì)應(yīng)的是6.17.1,所以又升級(jí)了oss-sdk。

更新了版本之后,如果是新文件,上傳和續(xù)傳沒(méi)問(wèn)題了,只是如果文件名字和之前的相同,上傳會(huì)報(bào)403,續(xù)傳會(huì)報(bào)404

aliyun-sdk-oss,阿里云,前端,云計(jì)算

aliyun-sdk-oss,阿里云,前端,云計(jì)算

這是緩存引起的,在new AliyunUpload.Vod({}) 的地方,新增個(gè) localCheckpoint: true ,并且把本地存儲(chǔ)清空,就可以了,或者也可以重命名文件。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-728469.html

代碼

createUploader (i) {
        let self = this
        let uploader = new AliyunUpload.Vod({
          timeout: 60000,
          partSize: 1048576, // 分片大小默認(rèn)1M,不能小于100K
          parallel: 5, // 并行上傳分片個(gè)數(shù),默認(rèn)5
          retryCount: 3, // 網(wǎng)絡(luò)原因失敗時(shí),重新上傳次數(shù),默認(rèn)為3
          retryDuration: 2, // 網(wǎng)絡(luò)原因失敗時(shí),重新上傳間隔時(shí)間,默認(rèn)為2秒
          region: "cn-shanghai", // 上傳到點(diǎn)播的地域
          userId: "190917894512121",
          localCheckpoint: true,//此參數(shù)是禁用服務(wù)端緩存,不影響斷點(diǎn)續(xù)傳
          // 開(kāi)始上傳
	  // 如果是 UploadAuth 上傳方式, 需要調(diào)用 uploader.setUploadAuthAndAddress 方法
          // 如果是 UploadAuth 上傳方式, 需要根據(jù) uploadInfo.videoId是否有值,調(diào)用點(diǎn)播的不同接口獲取uploadauth和uploadAddress
	  // 如果 uploadInfo.videoId 有值,調(diào)用刷新視頻上傳憑證接口,否則調(diào)用創(chuàng)建視頻上傳憑證接口
	  // 如果 uploadInfo.videoId 存在, 調(diào)用 刷新視頻上傳憑證接口(https://help.aliyun.com/document_detail/55408.html)
          // 如果 uploadInfo.videoId 不存在,調(diào)用 獲取視頻上傳地址和憑證接口(https://help.aliyun.com/document_detail/55407.html)
          onUploadstarted: function (uploadInfo) {
            if (!uploadInfo.videoId) {
              uploadVideoAuthApi(self.vedioData[i]).then((res) => {
                self.uploadDisabled = true
                let { uploadAuth, uploadAddress, videoId } = res.data.operateCallBackObj;
                uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress, videoId);
                uploader.startUpload()
              })
            } else {
	      // 如果videoId有值,根據(jù)videoId刷新上傳憑證
              refreshUploadVideoAuthApi(uploadInfo.videoId).then(res => {
                let {uploadAuth, uploadAddress, videoId} = res.data.operateCallBackObj
                uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress, videoId)
                uploader.startUpload()
              })
            }
          },
          // 文件上傳成功
          onUploadSucceed: function (uploadInfo) {
            console.log("onUploadSucceed: " + uploadInfo.file.name + ", endpoint:" + uploadInfo.endpoint + ", bucket:" + uploadInfo.bucket + ", object:" + uploadInfo.object)
            self.statusText = '文件上傳成功!'
          },
          // 文件上傳失敗
          onUploadFailed: function (uploadInfo, code, message) {
            console.log("onUploadFailed: file:" + uploadInfo.file.name + ",code:" + code + ", message:" + message)
            self.statusText = '文件上傳失敗!'
          },
          // 取消文件上傳
          onUploadCanceled: function (uploadInfo, code, message) {
            console.log("Canceled file: " + uploadInfo.file.name + ", code: " + code + ", message:" + message)
            self.statusText = '文件已暫停上傳'
          },
          // 文件上傳進(jìn)度,單位:字節(jié), 可以在這個(gè)函數(shù)中拿到上傳進(jìn)度并顯示在頁(yè)面上
          onUploadProgress: function (uploadInfo, totalSize, progress) {
            console.log("onUploadProgress:file:" + uploadInfo.file.name + ", fileSize:" + totalSize + ", percent:" + Math.ceil(progress * 100) + "%")
            let progressPercent = Math.ceil(progress * 100)
            self.authProgress = progressPercent
            self.statusText = '文件上傳中...'
          },
          // 上傳憑證超時(shí)
          onUploadTokenExpired: function (uploadInfo) {
            // 上傳大文件超時(shí), 如果是上傳方式一即根據(jù) UploadAuth 上傳時(shí)
            // 需要根據(jù) uploadInfo.videoId 調(diào)用刷新視頻上傳憑證接口(https://help.aliyun.com/document_detail/55408.html)重新獲取 UploadAuth
            // 然后調(diào)用 resumeUploadWithAuth 方法, 這里是測(cè)試接口, 所以我直接獲取了 UploadAuth
            let refreshUrl = 'https://demo-vod.cn-shanghai.aliyuncs.com/voddemo/RefreshUploadVideo?BusinessType=vodai&TerminalType=pc&DeviceModel=iPhone9,2&UUID=59ECA-4193-4695-94DD-7E1247288&AppVersion=1.0.0&Title=haha1&FileName=xxx.mp4&VideoId=' + uploadInfo.videoId
            axios.get(refreshUrl).then(({data}) => {
              let uploadAuth = data.UploadAuth
              uploader.resumeUploadWithAuth(uploadAuth)
              console.log('upload expired and resume upload with uploadauth ' + uploadAuth)
            })
            self.statusText = '文件超時(shí)...'
          },
          // 全部文件上傳結(jié)束
          onUploadEnd: function (uploadInfo) {
            console.log("onUploadEnd: uploaded all the files")
            self.statusText = '文件上傳完畢'
          }
        })
   return uploader
}

到了這里,關(guān)于aliyun-oss-sdk阿里云OSS視頻上傳(斷點(diǎn)續(xù)傳)前端實(shí)現(xià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)文章

  • 阿里云OSS上傳視頻,可分片上傳

    阿里云OSS上傳視頻,可分片上傳

    uniappH5實(shí)現(xiàn)?阿里云OSS上傳視頻? 示例圖: 上傳視頻完整示例代碼: 使用npm安裝SDK開(kāi)發(fā)包,安裝命令為 accessKeyId 和?accessKeySecret 還有?bucket 替換成你的就行。 multipartUpload 的第一個(gè)入?yún)⑹牵?文件路徑 + 文件名稱 第二個(gè)入?yún)⑹俏募?duì)象

    2024年02月01日
    瀏覽(18)
  • 微信小程序 - 超詳細(xì) “純前端“ 將文件上傳到阿里云 OSS,最新阿里云 OSS 直傳音視頻、圖片、word、excel、ppt、office 文檔(全程無(wú)需后端,前端文件直傳阿里云oss服務(wù)器)

    微信小程序 - 超詳細(xì) “純前端“ 將文件上傳到阿里云 OSS,最新阿里云 OSS 直傳音視頻、圖片、word、excel、ppt、office 文檔(全程無(wú)需后端,前端文件直傳阿里云oss服務(wù)器)

    網(wǎng)上的教程亂七八糟卻文件少代碼(并且沒(méi)注釋),而且都已經(jīng)很老了,對(duì)于新手來(lái)說(shuō)真的無(wú)從下手。 本文站在新手小白的角度, 實(shí)現(xiàn)微信小程序開(kāi)發(fā)中,“前端直傳” 上傳文件到阿里云oss對(duì)象存儲(chǔ)的詳細(xì)教程, 無(wú)需后端 (純前端自己完成所有簽名、上傳),保證 100% 成

    2024年02月13日
    瀏覽(120)
  • uniapp - [小程序 / H5網(wǎng)頁(yè)] “純前端“ 將文件上傳到阿里云 OSS,全端通用的阿里云 OSS 直傳音視頻、圖片、word、excel、ppt、office 文檔(全程無(wú)需后端穩(wěn)定可靠)

    uniapp - [小程序 / H5網(wǎng)頁(yè)] “純前端“ 將文件上傳到阿里云 OSS,全端通用的阿里云 OSS 直傳音視頻、圖片、word、excel、ppt、office 文檔(全程無(wú)需后端穩(wěn)定可靠)

    網(wǎng)上的教程亂七八糟各種坑,而且 uniapp 各個(gè)端都是不同的教程,對(duì)于新手來(lái)說(shuō)真的無(wú)從下手。 本文站在新手小白的角度, 實(shí)現(xiàn) uniapp 小程序 / H5 網(wǎng)頁(yè)等平臺(tái)的開(kāi)發(fā)中,“前端直傳” 上傳文件到阿里云oss對(duì)象存儲(chǔ)的詳細(xì)教程,通用的 “OSS 上傳器”,幾乎全平臺(tái)都可以使用!

    2024年02月12日
    瀏覽(73)
  • Spring Cloud Feign MultipartFile文件上傳踩坑之路(包含前端文件上傳請(qǐng)求、后端文件保存到aliyun-oss文件服務(wù)器)

    Spring Cloud Feign MultipartFile文件上傳踩坑之路(包含前端文件上傳請(qǐng)求、后端文件保存到aliyun-oss文件服務(wù)器)

    文件上傳組件用的是ant-design的a-upload組件,我的界面如下所示: 文件上傳請(qǐng)求API: FileUtils.js 需要注意的只有FileUtils.js定義的uploadApi請(qǐng)求函數(shù),其中 URL 為后端請(qǐng)求接口(“/imageConvert/upload”),文件上傳方法必須定義為 POST ,在 headers 加入’Content-type’: ‘multipart/form-data’,后端

    2024年02月12日
    瀏覽(21)
  • 阿里云OSS文件上傳

    阿里云OSS文件上傳

    需求分析:實(shí)現(xiàn)文件上傳與下載 ,與SprinCloud Alibaba整合 步驟一:注冊(cè)帳號(hào) 阿里云登錄 - 歡迎登錄阿里云,安全穩(wěn)定的云計(jì)算服務(wù)平臺(tái) ?第二步:創(chuàng)建Bucket ?第三步,創(chuàng)建Accesskey? 注意:創(chuàng)建時(shí)候一定記得復(fù)制帳號(hào)密碼,密碼只在創(chuàng)建成功后顯示一次! 第四步:安裝對(duì)象存儲(chǔ)

    2024年01月24日
    瀏覽(25)
  • 文件上傳對(duì)接阿里云OSS

    文件上傳對(duì)接阿里云OSS

    1.首先注冊(cè)登陸阿里云,在產(chǎn)品里找到oss服務(wù) ?2.點(diǎn)擊開(kāi)通oss服務(wù)后,可以看到oss服務(wù)面板 ?3.創(chuàng)建一個(gè)Bucket文件存儲(chǔ)桶 Bucket 相當(dāng)于 dir =bbs/avatar 用作文件隔離 4.java對(duì)接oss服務(wù) 找到j(luò)ava SDK 5.導(dǎo)入SDK的依賴 ?如果使用的是Java 9及以上的版本,則需要添加jaxb相關(guān)依賴。添加jaxb相關(guān)

    2024年02月05日
    瀏覽(19)
  • 阿里云oss分片上傳示例

    阿里云oss分片上傳示例

    oss文件服務(wù)器分片上傳官方文檔參考 : 分片上傳 - 對(duì)象存儲(chǔ) OSS - 阿里云 官方文檔寫(xiě)的更加詳細(xì),更多內(nèi)容請(qǐng)參考官方文檔 1.初始化分片事件,向oss服務(wù)器獲取全局唯一的uploadId 獲取uploadId,后續(xù)分片都需帶上uploadId,標(biāo)識(shí)同一個(gè)文件對(duì)象。 另外初始化操作時(shí)已經(jīng)指定文件訪問(wèn)鏈

    2024年02月16日
    瀏覽(20)
  • 阿里云對(duì)象存儲(chǔ)OSS文件上傳

    阿里云對(duì)象存儲(chǔ)OSS文件上傳

    阿里云oss地址: 對(duì)象存儲(chǔ)OSS_云存儲(chǔ)服務(wù)_企業(yè)數(shù)據(jù)管理_存儲(chǔ)-阿里云 阿里云對(duì)象存儲(chǔ)OSS是一款海量、安全、低成本、高可靠的云存儲(chǔ)服務(wù),提供12個(gè)9的數(shù)據(jù)持久性,99.995%的數(shù)據(jù)可用性和多種存儲(chǔ)類型,適用于數(shù)據(jù)湖存儲(chǔ),數(shù)據(jù)遷移,企業(yè)數(shù)據(jù)管理,數(shù)據(jù)處理等多種場(chǎng)景,可對(duì)

    2024年02月12日
    瀏覽(24)
  • Golang操作阿里云OSS上傳文件

    Golang操作阿里云OSS上傳文件

    為什么要使用OSS?應(yīng)用場(chǎng)景是什么? 最近在開(kāi)發(fā)考試系統(tǒng),里面需要上傳課件,課件包括pdf,map等等各種類型的文件,這些文件不能像圖片一樣,直接上傳到項(xiàng)目目錄下面,需要單獨(dú)存放,阿里云就提供了存儲(chǔ)方式,然后OSS是其中的一種,可以用來(lái)存儲(chǔ)一些文件。 我們需要

    2024年02月02日
    瀏覽(39)
  • SpringCloud整合阿里云OSS實(shí)現(xiàn)文件上傳

    SpringCloud整合阿里云OSS實(shí)現(xiàn)文件上傳

    阿里云OSS官網(wǎng):OSS管理控制臺(tái) (aliyun.com) 什么是對(duì)象存儲(chǔ)OSS 阿里云對(duì)象存儲(chǔ)OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存儲(chǔ)服務(wù),可提供99.9999999999%(12個(gè)9)的數(shù)據(jù)持久性,99.995%的數(shù)據(jù)可用性。多種存儲(chǔ)類型供選擇,全面優(yōu)化存儲(chǔ)成本。 OSS具有與平臺(tái)無(wú)

    2023年04月13日
    瀏覽(46)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包