直播帶貨軟體開發過程中,如何實現圖片上傳

萬嶽教育系統發表於2020-07-20

直播帶貨軟體開發過程 中,通常檔案上傳為避免伺服器壓力,不會直接上傳至自己的伺服器,而是上傳至三方雲端儲存來託管資料。下面小編以七牛云為例,簡單描述一下檔案上傳的實現過程。

1.  gradle中新增七牛sdk的依賴。

compile 'com.qiniu:qiniu-android-sdk:7.4.3'


2.  上傳前先獲取到唯一的token值。

if 
(
mGetUploadTokenCallback 
== 
null
) {
    
mGetUploadTokenCallback 
= 
new 
HttpCallback() {
        
@Override
        
public void 
onSuccess(
int 
code, String msg, String[] info) {
            
if 
(code == 
0 
&& info.
length 
> 
) {
                
mToken 
= JSON.
parseObject
(info[
]).getString(
"token"
);
                L.
e
(
TAG
, 
"七牛token------>" 
+ 
mToken
);
                uploadNext();
            }
        }
    };
}
//上傳檔案獲取七牛雲token的介面
CommonHttpUtil.
getUploadQiNiuToken
(
mGetUploadTokenCallback
);


3.  初始化七牛檔案上傳管理器,通常可以使用預設 設定 ,如果需要 指定區 域或者分片上傳等需要單獨配置。

預設情況:

UploadManager  mUploadManager = 
new UploadManager();


需要單獨配置的:

Configuration config = new Configuration.Builder()        
.chunkSize(512 * 1024)          // 分片上傳時,每片的大小。 預設256K        
.putThreshhold(1024 * 1024)   // 啟用分片上傳閥值。預設512K        
.connectTimeout(10)            // 連結超時。預設10秒        
.responseTimeout(60)          // 伺服器響應超時。預設60秒        
.zone(Zone.zone0)             // 設定區域,指定不同區域的上傳域名、備用域名、備用IP。        .build();
UploadManager  mUploadManager = new UploadManager(config);


4.  上傳 檔案並 監聽 回撥做相應處理。

File file=bean.getOriginFile();
//上傳資料,可以是 byte 陣列、檔案路徑、檔案
String RemoteFileName= bean.getRemoteFileName();
//儲存在伺服器上的資源唯一標識,這裡用的上傳檔名
UpCompletionHandler
 mCompletionHandler
= 
new 
UpCompletionHandler() { 
//上傳回撥函式
    
@Override
    
public void 
complete(String key, ResponseInfo info, JSONObject response) {
        
//上傳完成後的處理
    
}
};
mUploadManager
.put(file,RemoteFileName, 
mToken
, 
mCompletionHandler
, 
null
);


5.  將雲端儲存返回的檔案訪問連結,透過介面提交儲存即可。

以上,就是在直播帶貨軟體開發過程中,圖片上傳的過程。

宣告:以上內容為作者本人原創,未經作者本人同意,禁止轉載,否則將追究相關法律責任。  

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69968464/viewspace-2705736/,如需轉載,請註明出處,否則將追究法律責任。

相關文章