七牛云存储之Fetch网络文件

来源:互联网 发布:石桥铺数据恢复 编辑:程序博客网 时间:2024/05/21 14:46
  • 概述:
    七牛云存储服务,提供空间(Bucket)的概念,用来存储各种类型的文件,七牛内部将该服务取名为Kodo;通常都是上传本地文件,或者将企业或个人的网站的静态文件(image、css、javascript…..)通过配置镜像 平滑迁移到七牛的存储空间,但七牛其实也提供 抓取网络文件的操作,即:Fetch,但该操作比较适合一些小文件,大文件不建议使用该方法。

  • 思路:

    1. 首先获取一个网络文件的url
    2. 获取七牛提供的Auth对象,通过auth获取BucketManager对象,然后调用BucketMgr的fetch方法,指定存储的空间(bucket)和存储名称(key)即可
  • 代码示例:

package com.qiniu.kodo;import com.qiniu.base.AccountMgr;import com.qiniu.common.QiniuException;import com.qiniu.common.Zone;import com.qiniu.storage.BucketManager;import com.qiniu.storage.Configuration;import com.qiniu.storage.model.DefaultPutRet;import com.qiniu.util.Auth;/** * 七牛抓取网络资源文件 * @author xuhuanchao * */public class Fetch {    public static void main(String[] args) {        //1.网上的图片的URL        String url = "http://d.pic1.ajkimg.com/display/anjuke/7bcb4a-%E4%B8%AD%E7%8E%AF%E5%9C%B0%E4%BA%A7%E6%B9%96%E5%8D%97%E5%88%86%E5%85%AC%E5%8F%B8/3d9ba36efa37f8845daefb947df6486f-600x450.jpg";        //2.获取Auth 和 BucketManager 对象        Auth auth = Auth.create(AccountMgr.ACCESS_KEY, AccountMgr.SECRET_KEY);        Configuration config = new Configuration(Zone.autoZone());        BucketManager bucketMgr = new BucketManager(auth, config);        //3.指定上传的存储空间和存储在该空间中的名称        String bucketName = "testspace";        String key = "fetch_file.jpg";        try {            DefaultPutRet putRet = bucketMgr.fetch(url, bucketName, key);            System.out.println(putRet.hash + ":" + putRet.key);        } catch (QiniuException e) {            e.printStackTrace();        }    }}

注:使用的是qiniu-java-sdk-7.2.1.jar 所以需要Configuration对象

  • 测试结果:
    如图所示:
    这里写图片描述
1 0