中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Java 代碼實現(xiàn)七牛云存儲圖片

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

前言

項目想把圖片上傳到七牛云存儲上,筆者把七牛最簡單的用法示范一下,方便初學者。文章如有錯誤,歡迎各位指出。

http://blog.csdn.net/never_cxb/article/details/50539040

比如上面的 beautiful girl 圖片的 url 是http://img.blog.csdn.net/20160119111734404

我們最終用代碼上傳到七牛圖床后,七牛云存儲的 url 為 http://7xq7ik.com1.z0.glb.clouddn.com/testimagea

本文地址 http://blog.csdn.net/never_cxb/article/details/50534859 轉(zhuǎn)載請注明出處

準備工作

  1. 注冊一個七牛賬戶
    網(wǎng)址 https://portal.qiniu.com/signup?code=3lpzf1unpyr0y

  2. 登錄七牛開發(fā)者自助平臺,查看 Access Key 和 Secret Key (這兩個 Key 代碼會用到)

    http://blog.csdn.net/never_cxb/article/details/50539040

下載七牛依賴 jar 包

  • 可以用包管理器 gradle 下載(查看這篇文章 《Eclipse 使用 Gradle 下載 Jar 包全紀錄》)
  • 手動下載依賴包 qiniu-java-sdk-7 依賴 Google Gson 、 okhttp, okhttp 依賴 okio。

新建空間

圖片會上傳到某個空間里,代碼里會用到空間名。

http://blog.csdn.net/never_cxb/article/details/50539040

代碼

我們的項目需求是抓取圖片,
輸入圖片原始的的 url,然后利用代碼抓取到七牛圖床上,返回圖片在七牛上的 url。
首先定義變量存放你的 Key 和空間名。

public static final String ACCESS_KEY = "******"; // 你的access_key
public static final String SECRET_KEY = "******"; // 你的secret_key
public static final String BUCKET_NAME = "******"; // 你的secret_key
//獲取到 Access Key 和 Secret Key 之后,您可以按照如下方式進行密鑰配置
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);

//獲取空間管理器
BucketManager bucketManager = new BucketManager(auth);
try {

    // 要求url可公網(wǎng)正常訪問BucketManager.fetch(url, bucketName, key);
    // @param url 網(wǎng)絡上一個資源文件的URL
    // @param bucketName 空間名稱
    // @param key 空間內(nèi)文件的key[唯一的]
    DefaultPutRet putret = bucketManager.fetch(originalUrl, BUCKET_NAME, "testimage");

    System.out.println(putret.key);
    System.out.println("succeed upload image");
} catch (QiniuException e1) {
    e1.printStackTrace();
}

代碼思路很簡單,根據(jù) key 獲取到空間管理器,再指定圖片的原始 url、空間名、圖片的 key,就可以把圖片上傳到七牛上了

在七牛的空間內(nèi)容管理部分可以看到圖片已經(jīng)上傳好了,新的 url 為 http://7xq7ik.com1.z0.glb.clouddn.com/testimage
blog.csdn.net/never_cxb

那么問題來了,如何獲取圖片新的 url 呢?總不能每次都通過瀏覽器訪問七牛的網(wǎng)站,如何在代碼里獲取我們圖片在七牛上的 url 呢?

域名+key 獲取新的 url

還記得剛才的代碼里我們給圖片指定了 key 嗎,只是圖片在七?臻g里的唯一表示。剛才我們指定的 key 為testimage,看新的圖片 url 為http://7xq7ik.com1.z0.glb.clouddn.com/testimage,新url就是剛才的 key 結(jié)尾的。

前面一大串的字符是七牛給我們的默認域名,你也可以自定義域名。

blog.csdn.net/never_cxb

那么代碼思路也很簡單,定義一個變量存放空間的域名,然后域名拼接圖片的 key 就得到圖片上傳后的 url。

private static final String BUCKET_HOST_NAME = "7xq7ik.com1.z0.glb.clouddn.com";  
public String uploadByUrl(String originalUrl) {
        //...
        String imageKey = "testimage";
        DefaultPutRet putret = bucketManager.fetch(originalUrl, BUCKET_NAME, imageKey);
        newUrl = BUCKET_HOST_NAME + "/" + imageKey;
        System.out.println(newUrl);
        System.out.println("succeed upload image");
    } catch (QiniuException e1) {
        e1.printStackTrace();
    }

    return null;
}

輸出信息

7xq7ik.com1.z0.glb.clouddn.com/testimage
succeed upload image

邀請注冊

如果您還沒有注冊七牛,可以通過我的邀請鏈接注冊 https://portal.qiniu.com/signup?code=3lpzf1unpyr0y,體驗用戶有一些免費空間。

參考文章

七牛操作工具類(Java版)

七牛關于JAVA SDK的各種Demo

標簽: Google 代碼 開發(fā)者 網(wǎng)絡 域名

版權申明:本站文章部分自網(wǎng)絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:Android PopupWindow嵌套ListView(模仿分類下拉菜單效果)

下一篇:Android自定義Toast,多次彈出時取消上次彈出,最后一次彈出為準