Java進階學習:將文件上傳到七牛雲中

Java進階學習:將文件上傳到七牛雲中

經過本文,咱們將講述如何利用七牛雲官方SDK,將咱們的本地文件傳輸到其存儲空間中去。 html

JavaSDK:https://developer.qiniu.com/kodo/sdk/1239/java#server-uploadjava

官方SDK:https://developer.qiniu.com/sdk#official-sdk七牛雲存儲

建立空間及綁定域名

建立存儲空間

  這一步操做沒有什麼好說的,咱們存儲區域能夠根據服務器的高頻訪問地域進行設置服務器

  

綁定域名

  建立好存儲空間後就會默認給你一個測試域名來使得你能經過外鏈訪問你空間的內容。可是七牛雲存儲器做爲咱們應用的一部分,它的訪問域名也應該遵循咱們的域名規範,此時咱們能夠經過綁定域名來實現這樣的效果,好比能夠經過cloud.mrsaber.cn來訪問七牛雲存儲中的文件。app

  點擊圖示位置中的自定義域名:學習

  

  填寫域名的相關信息及設置(域名必填,其餘默認便可):測試

  

  填寫完之後將七牛雲將會給你一個CNAME:google

  

 

  最後一步是,在你的域名廠商中添加一條二級解析域名,指向這個CNAME:spa

  

  這樣回域名管理中刷新一下,直到通知你域名建立成功之後便可。3d

  

Java測試上傳文件

建立一個Java應用

  因爲要安裝七牛雲的SDK,咱們將咱們的Java應用轉換爲Maven應用。

  項目上右鍵 Add Framework Support  而後選中Maven,點擊OK

  

添加第三方類庫

<dependencies>
    <dependency>
      <groupId>com.qiniu</groupId>
      <artifactId>qiniu-java-sdk</artifactId>
      <version>7.2.11</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>okhttp</artifactId>
      <version>3.3.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.6.2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.qiniu</groupId>
      <artifactId>happy-dns-java</artifactId>
      <version>0.1.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

編寫測試代碼

import com.google.gson.Gson;
import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        /*
        * Configuration 表示帶指定Zone對象的配置類
        * 其中Zone 2 表示華南地區
        * */
        Configuration cfg = new Configuration(Zone.zone2());
        UploadManager uploadManager = new UploadManager(cfg);
        String accessKey = "XXXXX";
        String secretKey ="YYYYY";
        String bucket= "你當時建的存儲空間的名稱";
        Scanner scanner = new Scanner(System.in);
        String filePath = scanner.nextLine();
        //Key 表示文件上傳到服務器中的名稱,爲空的話默認爲文件Hash值
        String key = filePath.substring(filePath.lastIndexOf("/")+1);
        Auth auth = Auth.create(accessKey,secretKey);
        String upToken = auth.uploadToken(bucket);
        try {
            Response response = uploadManager.put(filePath,key,upToken);
            DefaultPutRet putRet = new Gson().fromJson(response.bodyString(),DefaultPutRet.class);
            System.out.println(putRet.hash);
            System.out.println(putRet.key);
        } catch (QiniuException e) {
            e.printStackTrace();
        }
    }
}

其中祕鑰的位置在這裏

  

相關文章
相關標籤/搜索