初次使用七牛多媒體雲端儲存
我是個純客戶端開發者,為什麼強制一個字“純”呢?因為我不懂伺服器端,完全不知道linux是怎麼玩的,也不知道tomcat是啥玩意兒,就連maven之類的工具也不知道咋整。好吧,我承認我比較菜,菜的讓老公在外面很丟臉。作為一個純客戶端開發者,都希望有個強大的工具,在不需要伺服器介面開發的情況下,能夠做出很不錯的app。
因為最近專案的需要,接觸了下七牛,開始一直不理解為什麼意思創業公司沒事去整什麼雲服務,而且吧,最近市場上很多巨頭都提供雲服務,什麼亞馬遜啊,百度啊,京東啊,亞馬遜是很早就知道的,那個時候覺得亞馬遜太專業了,沒有過多瞭解,百度呢,稍微方便些,但是一想到要自己定義介面,我就各種抓狂。使用七牛是沒選擇的,因為必須要使用。好吧,硬著頭皮上。
先是在七牛官網上註冊了賬號,然後建立了一個空間,開始不明白空間是幹什麼用的,後來才知道原因是有七牛分配二級域名。七牛的儲存方式是個簡單的鍵值對應的關係。
七牛的sdk裡就帶有圖片上傳的demo。
/**
* 普通上傳檔案
* @param uri
*/
public void doUpload(Context ctx, File file, final Handler handler, final int id) {
String key = "auto_key" + System.currentTimeMillis(); // 自動生成key
PutExtra extra = new PutExtra();
extra.params = new HashMap<String, String>();
reqToken();
url_weixinshare = returnUrl + key;
Log.d("token", "uptoken = "+ uptoken+", bucketName = " +bucketName);
IO.putFile(ctx, uptoken, key, Uri.fromFile(file), extra, new JSONObjectRet() {
@Override
public void onProcess(long current, long total) {
Log.d("IO.putFile", "正在上傳圖片");
}
@Override
public void onSuccess(JSONObject resp) {
Log.d("IO.putFile", "successed!上傳圖片");
Message msg = handler.obtainMessage();
msg.arg1 = id;// 用來判斷使用者點選的是那個按鈕(微信,朋友圈)
msg.what = SUCCESSED;// 表示傳送成功
handler.sendMessage(msg);
}
@Override
public void onFailure(QiniuException ex) {
uploading = false;
Log.d("IO.putFile", "錯誤: " + ex.getMessage());
handler.sendEmptyMessage(FAILURE);
}
});
}
其中token是服務端生成的,七牛官網有提供臨時token,用於測試(使用七牛提供的ak,sk生成)。
key就是你上傳的資源名。
總之,七牛還是很easy,很方便的一個雲端儲存工具。good!