Android中使用又拍雲存儲來上傳文件(包括圖片、音頻和視頻等)


資料:

        在又拍雲存儲上申請賬號,然后購買一定的空間。(具體可上它的官網詳細了解)

原理:

      又拍雲存儲說白了就是一個中介。客戶端把所需要上傳的東西傳到又拍雲端服務器,雲端服務器在通知到我們自己創建的服務器,然后我們自己的服務器在和我們的客戶端進行相應的交互。

運用以及過程中遇到的問題:

       1)ftprush工具。通過查看又拍的API我們可以通過搭建該工具,從后台看到我們上傳的文件以及對應的文件目錄。當然也可以通過拼接相應的參數,通過瀏覽器來查看對應的效果。

       2)多個數據羅列到一個列表里,然后每個數據里又包含多張圖片或者音視頻的夾雜。如圖:


當我第一條數據里有5張圖片,上傳了3張,突然網絡不好斷網了或者上傳時間太長網絡超時了,就會導致上傳中斷。這個時候我們就需要考慮這幾個情況:

1】我們是繼續上傳第一條未上傳成功的圖片?

2.】我們先不管第一條數據,去上傳第二條或者第三條甚至其它全新的數據里的圖片?

3】萬一第二條也上在上傳的過程中導致傳輸中斷也上傳失敗了呢?

策略及解決方案:

        這時候我們就需要思考如何記錄每次上傳的張數以及成功了幾張或者失敗了幾張。以它為標志,下次就從它這里開始上傳。(我可能說的有點籠統,如圖所示,我們把這些數據都放在一個ArrayList的集合里,每次往又拍上傳圖片失敗的時候,在我們編寫的函數里進行記錄,把失敗的張數以一個鍵值對的形式放在一個HashMap里。這樣的話,我們就可以解答上述三個疑惑了。譬如:當我們操作第一種情況的時候,我們先去HashMap里去通過K值來判斷對應的V值是否為空,如果不為空,那我們就可以接着上傳剛剛未能上傳成功的圖片。再如:當我們操作第二種情況的時候,我們去HashMap里去查看,是否存在對應的K,如果不存在,我們就可以認定這是一條全新的數據,這樣就不會和第一條未上傳成功的數據有任何關聯。大路朝天各走半邊,誰也不愛礙誰的事兒了。第三種情況亦如此。)


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com