上手七牛雲存儲
早就聽說過七牛雲存儲,終於有時間上手實踐。
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
上手七牛雲存儲