通过COS上传文件至腾讯云
生活随笔
收集整理的這篇文章主要介紹了
通过COS上传文件至腾讯云
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近看了一下上傳文件至騰訊云。騰訊官方提供的API,cloud.tencent.com/document/pr…
文檔上傳
文檔上傳首頁要首先引入騰訊云封裝好的cos-js-sdk-v5.js文件,然后再獲取秘鑰,簽名可以是永久的也可以是臨時(shí)的,由于密鑰放在前端會(huì)暴露 SecretId 和 SecretKey,所以把永久密鑰過程放在后端,前端通過發(fā)送一個(gè)ajax請(qǐng)求獲取秘鑰。
獲取秘鑰
// 初始化上傳文檔實(shí)例 this.cos = new Cos({ getAuthorization: this.getDocSignature }) // 獲取上傳文檔簽名 getDocSignature(options, callback) {const that = this$.ajax({url: '后臺(tái)提供的請(qǐng)求地址', // 獲取客戶端上傳簽名的 URLtype: 'GET',dataType: 'json',success(result) { // result 是派發(fā)簽名服務(wù)器的回包if (result.code === statusCode.SUCCESS) {const fileKey = JSON.parse(result.data.fileKey).datacallback({TmpSecretId: fileKey.credentials.tmpSecretId,TmpSecretKey: fileKey.credentials.tmpSecretKey,XCosSecurityToken: fileKey.credentials.sessionToken,ExpiredTime: fileKey.expiredTime})} else {// 獲取秘鑰失敗的相關(guān)操作}}}) 復(fù)制代碼開始上傳
uploadDoc() { // 調(diào)取文檔上傳相關(guān)接口this.cos.sliceUploadFile({Bucket: '99999', // 桶的名字,命名規(guī)則為{name}-{appid} ,此處填寫的存儲(chǔ)桶名稱必須為此格式Region: '地區(qū)', //Bucket所在的區(qū)域Key: this.fileObj.name,Body: this.fileObj, // 文件的信息}, (err, data) => {if (!err && data) {this.fileName = this.fileObj.namethis.key = data.Keythis.fileId = data.Keythis.cos.getObjectUrl({ // 獲取文件訪問地址Method: 'PUT',Key: this.key,Bucket: 'aaa',Region: '地區(qū)',Sign: false}, (err, data) => {if (!err) { // 文檔地址this.fileUrl = data.Url} else {this.$message.error('上傳失敗')}})} else {this.$message.error('上傳失敗')}}) }, 復(fù)制代碼以上是文檔的上傳,視頻的上傳方式跟文檔的上傳要簡單一些,這里就不多說了,大家有更好的方法或者其他的意見都可以提出來哈,我都會(huì)在第一時(shí)間回復(fù)!
轉(zhuǎn)載于:https://juejin.im/post/5c2eb0b16fb9a049b506f242
總結(jié)
以上是生活随笔為你收集整理的通过COS上传文件至腾讯云的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Java 8使用Lamd
- 下一篇: javascript中创建对象的几种方式