天天看點

上手七牛雲存儲

早就聽說過七牛雲存儲,終于有時間上手實踐。

1、第一步,注冊七牛賬号,由于是測試,首先申請的是個人賬号

2、注冊成功之後,預設是體驗賬号,每月隻有1G的空間容量及1G的下載下傳流量

上手七牛雲存儲
3、賬号認證,認證成功之後将更新為标準賬号,每月有10G的空間容量及20G的下載下傳流量
上手七牛雲存儲

雖然認證麻煩了些,但看得出來,七牛還是很良心的,這種免費套餐對于一般的小型網站應用來說應該是足夠了

說明一下,認證表單裡,有一個“個人網址”的文本框,一開始我以為是空間的自定義域名,後來試了一下,應該就是個人網站位址,可以随便填,不影響使用。

4、認證成功之後,就可以正式開始使用七牛雲了

首先需要建立一個存儲空間,可以把這個存儲空間簡單了解為硬碟分區

我建立的存儲空間名稱是:myBucket,存儲區域:華北

其實存儲空間隻支援小寫,如上面我的存儲空間建立成功之後就變成了:mybucket

然後需要為存儲空間綁定一個域名,這個要求擁有自己的可解析并且已備案的國際域名,比如:itez.com.cn

添加域名時,還有一個需要注意的地方,就是”加速域名“後面的文本框中,不要輸入根域名,而是要輸入最終的子域名,比如:qn.files.itez.com.cn

等一會之後,就會建立一個CNAME,比如:xxx.qiniudns.com

這時登入自己域名的DNS解析管理頁面,将”qn.files.itez.com.cn“使用CNAME方式指向到“xxx.qiniudns.com”即可。

這時就可以在空間管理中,上傳檔案到七牛雲了,成功後,可以使用上面添加的子域名來通路上傳的檔案,例如:http://qn.files.itez.com.cn/myLogo.jpg

5、開發API

在JAVA中內建七牛雲,添加引用:

<dependency>
    <groupId>com.qiniu</groupId>
    <artifactId>qiniu-java-sdk</artifactId>
    <version>7.2.10</version>
</dependency>      

還需要以下相關資訊:

1)AccessKey:在七牛雲的“個人中心/密鑰管理”中可以找到

2)SecretKey:同上

3)存儲空間名稱:就是在建立存儲空間時填寫的名稱,比如:mybucket

4)存儲區域名稱:就是在建立存儲空間時選擇的存儲區域,目前有四種:華東、華北、華南、北美

上手七牛雲存儲

示例代碼:

//構造一個帶指定Zone對象的配置類
Configuration cfg = new Configuration(Zone.zone0());
//...其他參數參考類注釋
UploadManager uploadManager = new UploadManager(cfg);
//...生成上傳憑證,然後準備上傳
String accessKey = "your access key";
String secretKey = "your secret key";
String bucket = "your bucket name";
//預設不指定key的情況下,以檔案内容的hash值作為檔案名
String key = null;
try {
byte[] uploadBytes = "hello qiniu cloud".getBytes("utf-8");
ByteArrayInputStream byteInputStream=new ByteArrayInputStream(uploadBytes);
Auth auth = Auth.create(accessKey, secretKey);
String upToken = auth.uploadToken(bucket);
try {
    Response response = uploadManager.put(byteInputStream,key,upToken,null, null);
    //解析上傳成功的結果
    DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
    System.out.println(putRet.key);
    System.out.println(putRet.hash);
} catch (QiniuException ex) {
    Response r = ex.response;
    System.err.println(r.toString());
    try {
    System.err.println(r.bodyString());
    } catch (QiniuException ex2) {
    //ignore
    }
}
} catch (UnsupportedEncodingException ex) {
//ignore
}      

更多API詳細說明:

https://developer.qiniu.com/kodo

寵辱不驚,看庭前花開花落;去留無意,望天上雲卷雲舒