自己做項目使用的是一台阿里雲最便宜的服務器,存儲空間只有40G,靜態資源和動態資源都放在一起。聽說七牛雲存儲注冊認證即送10G的免費存儲,想着把靜態資源放在七牛雲上,分擔一下阿里雲服務器的存儲壓力。
第一步:
1.注冊
2.實名認證
3.創建存儲空間
第二步:
1.查看javascript-sdk:
根據要求,需要三樣信息:
* AccessKey和SecretKey:這兩個在七牛雲的(控制台->個人中心->密鑰管理)獲得
* token:根據要求要服務端SDK生成,下面介紹
2.查看java-sdk:
a.導入maven依賴:
<dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>7.2.11</version> </dependency>
b.獲取token:
* 這里上傳憑證就是token。
* AccessKey和SecretKey已經有了。
* Bucket就是創建的存儲空間的名字。
String accessKey = "access key"; String secretKey = "secret key"; String bucket = "bucket name"; Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); System.out.println(upToken);
* upToken:就是所要獲取的token,傳給前端
3.前端上傳:
a.引入腳本
<script src="https://unpkg.com/qiniu-js/dist/qiniu.min.js"></script>
b.開始上傳
//參數介紹 // file:就是要上傳的文件 // key:文件名(帶后綴名),如果上傳空間中已經存在此文件名,則上傳會失敗 // token:就是后端生成的token // putExtra:入門階段不用關心,傳個 {} 就行 // config:入門階段不用關心,傳個 {} 就行 var observable = qiniu.upload(file, key, token, putExtra, config) //參數介紹 // next:函數類型參數,帶有一個參數,上傳過程中執行該函數,根據函數參數可以知道文件上傳了多少 // error:函數類型參數,帶有一個參數,上傳失敗執行該函數,函數參數為上傳失敗返回值 // complete:函數類型參數,帶有一個參數,上傳成功執行該函數,函數參數為上傳成功返回值 var subscription = observable.subscribe(next, error, complete)
至此就能成功上傳至七牛雲存儲空間
第三步
1.查看存儲空間文件
控制台->對象存儲->存儲空間->內容管理
2.獲取文件
文件地址:協議+域名+文件名
協議:http還是https自己看着辦
域名:有默認的域名,但是有時限,可以自己綁定域名
文件名:上傳所需參數中的key參數
總結:
程序員是很需要耐心的,遇到問題多思考,解決問題過程中,千萬不要鑽牛角尖,不重要的就舍掉。