第一次使用七牛云存储

  • 问题
    因为不同服务器之间需要使用同一个图片,一开始决定建一个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的使用,没想到没有.看来还得多看多尝试.

推荐阅读更多精彩内容