-
问题
因为不同服务器之间需要使用同一个图片,一开始决定建一个ftp图片服务器,只是这个项目就是一个cms简单的系统,所以不想搞的那么麻烦.老大让我去看一下七牛,然后我就去研究了一下. -
过程
首先打开七牛的官网,注册账号,绑定手机,然后就创建了一个存储空间.这个存储空间可以上传图片,然后你就可以获得一个关于这个图片的url地址,在你的网站上就可以使用这个地址读取这个图片,挺方便的.
QQ截图20160720174013.png
接着就想怎么上传图片,在七牛官网上找了一会,然后就在个人面板上面找到了文档中心,接着就开始看帮助文档里面的快速入门,api文档,看了半天,有了一个大概的思路.
在上传的时候需要提供一个上传凭证,而这个凭证需要AccessKey/SecretKey这两个密钥来进行获取.而这两个密钥在个人面板->密钥管理里面,接着就看晕了.
后来就在网上找帖子,查资料,后来在一个帖子上看到一个人提供了链接,那个链接指向的是开发者资源,里面有关于java的SDK,然后就点进去了,发现TMD,原来Demo都在这里面,把maven的依赖拷进去,然后把他的demo也一块拷了进去,修改了密钥和存储仓库名称,设置上传图片文件和图片名称,测试上传图片,成功.
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>7.0.0</version>
</dependency>import com.qiniu.util.Auth; import java.io.IOException; import com.qiniu.common.QiniuException; import com.qiniu.http.Response; import com.qiniu.storage.UploadManager; public class UploadDemo { //设置好账号的ACCESS_KEY和SECRET_KEY String ACCESS_KEY = "Access_Key"; String SECRET_KEY = "Secret_Key"; //要上传的空间 String bucketname = "Bucket_Name"; //上传到七牛后保存的文件名 String key = "my-java.png"; //上传文件的路径 String FilePath = "/.../..."; //密钥配置 Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY); //创建上传对象 UploadManager uploadManager = new UploadManager(); //简单上传,使用默认策略,只需要设置上传的空间名就可以了 public String getUpToken(){ return auth.uploadToken(bucketname); } public void upload() throws IOException{ try { //调用put方法上传 Response res = uploadManager.put(FilePath, key, getUpToken()); //打印返回的信息 System.out.println(res.bodyString()); } catch (QiniuException e) { Response r = e.response; // 请求失败时打印的异常的信息 System.out.println(r.toString()); try { //响应的文本信息 System.out.println(r.bodyString()); } catch (QiniuException e1) { //ignore } } } public static void main(String args[]) throws IOException{ new UploadDemo().upload(); } }
-
总结
我是没想到七牛会把demo放在SDK下载的地方,一开始是想看在帮助文档里面找jav的SDK的使用,没想到没有.看来还得多看多尝试.
网友评论