vue用阿里云oss上傳圖片使用分片上傳只能上傳100kb以內的解決辦法

首先,vue和阿里云oss上傳圖片結合參考了 這位朋友的 https://www.jianshu.com/p/645f63745abd?文章,成功的解決了我用阿里云oss上傳圖片前的一頭霧水。

該大神文章里有寫github地址,里面的2.0分支采用vue2.0實現,只不過這個上傳圖片用的是分片上傳,即斷點續傳,分片上傳由于一片是以100kb為起始的,所以當圖片大小小于100kb的時候不分片,可以正常上傳,當大于100k的時候,會報錯如下:

One or more of the specified parts could not be found or the specified entit

當報這個錯誤的時候,請看看阿里云自己的后臺有沒有按文檔設置

文檔地址:https://help.aliyun.com/document_detail/32069.htm

exopose header 要設置為 ETag

當成功設置之后,大于100k的就可以成功上傳了,但是返回的數據和小于100k的不太一樣,

大于100k之后沒有直接返回url,只有在res.requestUrls 里可以看到對應的url ,但是后面還會有一個分片上傳的id。

返回數據對應如下:

小于100k:

?

大于100k時:

?

看了官方文檔有關分片上傳的方法,表示并沒有看懂如何把分片集合上傳,文檔在此,https://help.aliyun.com/document_detail/31850.html??如有大神看懂,還請多多指教!!不勝感激!!

?

最終我用截取字符串截取到大于100k的圖片的url,實現客戶端預覽。

我的最終代碼如下(這是vue中綁定在 input file上的一個函數):

onFileChange(e) {const _this = this;axios({url: "/oss/get_token",method: 'GET',headers: {'w-auth-token': this.token}}).then((res) => {var client = new OSS.Wrapper({accessKeyId: res.data.accessKeyId,accessKeySecret: res.data.accessKeySecret,stsToken: res.data.securityToken,region: _this.region,bucket: _this.bucket});let files = e.target.files || e.dataTransfer.files;if (!files.length)return;if (files.length) {const fileLen = files.length;const currentImgLength=_this.imgList.length;const restLength=10-currentImgLength;if(currentImgLength>10){Toast('圖片最多上傳十張');}else{if(fileLen<=restLength){for (let i = 0; i < fileLen; i++) {const file = files[i];let date = new Date();let path="wap/life/release/"+this.id+"/"+date.getFullYear()+(date.getMonth()+1)+date.getDate()+date.getHours()+date.getMinutes()+date.getSeconds()+date.getMilliseconds()+ '.' + file.name.split('.').pop();let size=file.size;if(Math.round(size/(1024*1024)*100)/100<=2){client.multipartUpload(path, file).then((results) => {if(size>=100*1024){_this.imgList.push(results.res.requestUrls[0].split("?")[0]);}else{_this.imgList.push(results.url);}console.log(results);}).catch((err) => {Toast('上傳圖片失敗,請重試!');});}else{Toast('上傳圖片不能超過2M,請重試!');}}}else{Toast('圖片最多上傳十張');}}}});},
<div class="uploadBox"><!--<input type="file" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg" multiple @change="onFileChange">--><input type="file" accept="image/*" multiple @change="onFileChange"><div><svg class="icon-jia icon" aria-hidden="true"><use xlink:href="#icon-jia"></use></svg><p>添加照片</p></div>
</div>

?

這個上傳圖片的方法實現阿里云多圖上傳,圖片大小限制,調用后臺返回的接口??

/oss/get_token 

獲得相應的secret。運用了mint-ui組件。

我把一個upload上傳組件放在了我的github:打開vue+阿里云oss上傳組件

 

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453116.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453116.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453116.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

iphone11右上角信號顯示_蘋果iOS11信號強度的標志變了意味著什么?

原標題&#xff1a;蘋果iOS11信號強度的標志變了意味著什么?在iOS 11測試版中&#xff0c;蘋果將狀態欄中表示 LTE信號強度的5個小圓點換成了4 個豎狀條。從 iOS 7 到 iOS 10蘋果就一直使用小圓點標志信號強度設計&#xff0c;而這次的改變也意味著范圍的變化。這到底是什么意…

計算機二級access選擇題技巧,計算機二級access考試注意事項及解題技巧策略

計算機二級access考試注意事項及解題技巧策略2017年計算機考試將至&#xff0c;今天yjbys小編為大家帶來了計算機二級access考試注意事項及解題技巧哦!快點行動起來吧~考試注意事項1.考試時間&#xff1a;120分鐘(即2小時)2.考試類型&#xff1a;上機操作 (總分100分&#xff0…

【uoj#37/bzoj3812】[清華集訓2014]主旋律 狀壓dp+容斥原理

題目描述 求一張有向圖的強連通生成子圖的數目對 $10^97$ 取模的結果。 題解 狀壓dp容斥原理 設 $f[i]$ 表示點集 $i$ 強連通生成子圖的數目&#xff0c;容易想到使用總方案數 $2^{sum[i]}$ 減去不為強連通圖的方案數得到強連通圖的方案數&#xff0c;其中 $sum[i]$ 表示點集 $…

交換機實現虛擬局域網

但由于它是邏輯地而不是物理地劃分&#xff0c;所以同一個 VLAN內的各個工作站無須被放置在同一個物理空間里&#xff0c;即這些工作站不一定屬于同一個物理LAN網段。一個VLAN內部的廣播和單播流量都不會轉發到其他 VLAN中&#xff0c;即使是兩臺計算機有著同樣的網段&#xff…

產品與項目

產品和項目到底有什么區別&#xff0c;擴展開說&#xff0c;做產品和做項目最大的不同在哪里&#xff1f;產品經理和項目經理&#xff08;都是PM&#xff0c;有時候自己都搞不清說的哪一個&#xff09;職責的不同在哪里&#xff1f;一直困擾了我很長時間&#xff0c;直到2007年…

python斐波那契前20遞歸_算法python實現經典遞歸問題(漢諾塔, 斐波那契數列,階乘)...

經典遞歸漢諾塔問題背景故事傳說印度某間寺院有三根柱子&#xff0c;上串64個金盤。寺院里的僧侶依照一個古老的預言&#xff0c;以上述規則移動這些盤子&#xff1b;預言說當這些盤子移動完畢&#xff0c;世界就會滅亡。這個傳說叫做梵天寺之塔問題(Tower of Brahma puzzle)。…

Hello This Cruel World!

第一天&#xff0c;已經成為了半年的OIer&#xff0c;仍然是個蒟蒻&#xff0c;希望以后能夠變強&#xff01; 在OJ和博客的常用網名&#xff1a; TimeTraveller ->洛谷 VictoryCzt ->csdn,cnblog等 Czt Czttt czt ->OJ CrazyTea CrazyTeaMajor 游戲&#xff0c;QQ…

計算機系統的部件名稱作用,電腦配件與每個配件作用詳細完整的解釋

電腦各配件的具體功能和特性說起來很長&#xff0c;先簡單介紹一下。一臺個人臺式電腦的主要配件有&#xff1a;1.主板&#xff1a;也叫母板&#xff0c;是連接CPU、內存、AGP等電腦配件的最主要最基本的載體&#xff0c;主板的結構類型決定電腦各配件的結構和類型&#xff0c;…

信道效率以及信道的吞吐率

信道的效率即為信道的利用率&#xff0c;是指發送方在一個發送周期的時間內&#xff0c;有效的發送數據所需要的時間占整個發送周期的比率。 例如,發送方從開始發送數據&#xff0c;到收到第一個確認幀為止&#xff0c;稱為一個周期&#xff0c;設為T。發送方在這個周期內共發…

jquery兄弟標簽_js jquery獲取當前元素的兄弟級 上一個 下一個元素

var chils s.childNodes; //得到s的全部子節點var pars.parentNode; //得到s的父節點var nss.nextSbiling; //獲得s的下一個兄弟節點var pss.previousSbiling; //得到s的上一個兄弟節點var fcs.firstChild; //獲得s的第一個子節點var lcs.lastChile; //獲得s的最后一…

將本地代碼備份到Github public repository

1. 在本地代碼所在的文件夾中初始化&#xff0c;即打開powershell&#xff0c;輸入下面命令 git init 此時本地文件夾中會出現一個.git的隱藏文件夾。 2. 然后將當前的文檔commit&#xff0c;在本地commit之前可以先加一個.gitignore文件&#xff0c;忽略一些不必要的文件&…

推辭掉得不是你的工作,而是你的未來

在民營企業&#xff0c;年輕人無疑是主力&#xff0c;為什么年紀相仿&#xff0c;他是經理&#xff0c;我卻是職員&#xff1f;相信對此憤恨不平的大有人在&#xff01;說什么人家后臺硬、或者別人嘴巴甜&#xff0c;恨自己生不逢時、怨自己出身平凡的居多&#xff0c;相反檢討…

路考計算機系統評判,科目三智能考試有效解決路考舞弊行為

科目三智能考試是指通過在考試車輛上加裝計算機、定位系統、傳感器、音視頻采集等設備實現對考試項目的自動化評判&#xff0c;代替原來人工評判&#xff0c;且記錄考試過程的音視頻資料&#xff0c;提供考試過程回放等相關功能。科目三自動化考試減少了人為因素對考試過程的干…

跟我一起玩Win32開發(20):瀏覽文件夾

最近忙于一些相當無聊的事情&#xff0c;還沒忙完&#xff0c;不過&#xff0c;博客還是要寫的&#xff0c;不然我頭頂上會多了幾塊磚頭。 在上一篇博文中&#xff0c;我們瀏覽了文件&#xff0c;今天我們也瀏覽一下目錄&#xff0c;如何&#xff1f; 瀏覽目錄我們同樣有兩個規…

什么材料反射熱量好_封陽臺用什么材料好,封陽臺用什么玻璃好

展開全部陽臺是建e68a8462616964757a686964616f31333433663065筑物室內的擴張&#xff0c;是居住者吸取新鮮空氣、曬各種衣物、放置盆栽的場地方&#xff0c;其裝修需要顧及實用更要注重美觀問題。封陽臺的優點1、具有保暖等的作用。陽臺封閉后&#xff0c;多了一層抵擋塵埃和噪…

k8s實戰之從私有倉庫拉取鏡像 - kubernetes

1、實戰目的 從私有docker倉庫拉取鏡像&#xff0c;部署pod。上一篇中&#xff0c;我們搭建了私有的鏡像倉庫&#xff0c;這一篇我們將與k8s結合實戰使用私有倉庫。 2、登錄docker 為了完成本次實戰&#xff0c;需要登錄docker&#xff0c;如下&#xff1a; 3、為k8s集群創建Se…

李開復評價馬斯克:他真正的目的是把人變成半機械人

本文來自AI新媒體量子位&#xff08;QbitAI&#xff09;李開復在昨日接受Quartz的采訪時說&#xff0c;伊隆馬斯克在用太陽能汽車和腦部醫療植入物做誘餌掩飾他真正的目的&#xff1a;改變從傳統電力公司獲得能源的方式&#xff0c;并且將人類變成半機械人。 △ 伊隆馬斯克 李開…