七牛Android SDK調試整理
建立工程
建立七牛相關
使用App上傳圖片
/**
* 初始化上傳參數
*/
private void init(){
Recorder recorder = new Recorder(){
@Override
public void set(String s, byte[] bytes) {
}
@Override
public byte[] get(String s) {
return new byte[0];
}
@Override
public void del(String s) {
}
};
//上傳配置
Configuration config = new Configuration.Builder()
.chunkSize(256 * 1024) //分片上傳時,每片的大小。 默認 256K
.putThreshhold(512 * 1024) // 啓用分片上傳閥值。默認 512K
.connectTimeout(10) // 鏈接超時。默認 10秒
.responseTimeout(60) // 服務器響應超時。默認 60秒
.recorder(recorder) // recorder 分片上傳時,已上傳片記錄器。默認 null
.recorder(recorder, null) // keyGen 分片上傳時,生成標識符,用於片記錄器區分是那個文件的上傳記錄
.zone(Zone.zone0) // 設置區域,指定不同區域的上傳域名、備用域名、備用IP。默認 Zone.zone0
.build();
// 重用 uploadManager。一般地,只需要創建一個 uploadManager 對象
mUploadManager = new UploadManager(config);
}
/***
* 表單上傳
*/
private void upload(){
// 重用 uploadManager。一般地,只需要創建一個 uploadManager 對象
UploadManager uploadManager = new UploadManager();
//data = <File對象、或 文件路徑、或 字節數組>
String data = FILE_SAVEPATH_UPLOAD + "upload.jpg"; //FILE_SAVEPATH_UPLOAD路徑下的 upload.jpg
String key = "my_upload.jpg"; //在七牛上顯示的名字
String token = mToken; //上傳token
uploadManager.put(data, key, token,
new UpCompletionHandler() {
@Override
public void complete(String key, ResponseInfo info, JSONObject res) {
// res 包含hash、key等信息,具體字段取決於上傳策略的設置。
Log.i("qiniu", key + ",\r\n " + info + ",\r\n " + res);
Toast.makeText(MainActivity.this, "upload success !!!", Toast.LENGTH_SHORT).show();
}
}, null);
}
我們直接使用路徑傳送圖片,通過key可以直接指定在七牛管理端的名字,並且我們訪問也是用的這個名字。現在萬事具備,最日狗的就是就是如何生成token了。在sdk中我們發現測試token可以通過一個在線生成工具生成。