ホームページ  >  記事  >  Java  >  オブジェクトのストレージと管理に Java と Qiniu Cloud KODO を使用する方法

オブジェクトのストレージと管理に Java と Qiniu Cloud KODO を使用する方法

WBOY
WBOYオリジナル
2023-07-06 20:01:571258ブラウズ

Java と Qiniu Cloud KODO をオブジェクト ストレージと管理に使用する方法

1. はじめに
クラウド コンピューティングとビッグ データの急速な発展に伴い、クラウド ストレージはますます重要な部分になっています。中国でよく知られたオブジェクト ストレージ プラットフォームとして、Qiniu Cloud KODO は強力なストレージおよび管理機能を提供し、Web サイト、モバイル アプリケーション、ライブ ビデオなどの分野で広く使用されています。この記事では、オブジェクトのストレージと管理に Java と Qiniu Cloud KODO を使用する方法を紹介し、対応するコード例を示します。

2. Qiniu Cloud アカウントとストレージ スペースの作成

  1. Qiniu Cloud 公式 Web サイト (https://www.qiniu.com/) にアクセスし、[登録] ボタンをクリックして作成します。アカウント。
  2. Qiniu Cloud Console にログインし、ストレージ スペースを作成します。コンソールの「ストレージスペース」ページで「新しいスペース」をクリックし、対応する情報を入力して保存します。ここでは例として、ストレージスペースの名前を「mybucket」とします。

3. 依存ライブラリの追加
Java プロジェクトの pom.xml ファイルに次の依存ライブラリを追加します:

<dependency>
    <groupId>com.qiniu</groupId>
    <artifactId>qiniu-java-sdk</artifactId>
    <version>7.4.0</version>
</dependency>

4. Qiniu クラウド アクセス キーの設定
以下に示すように、Java プロジェクトの構成ファイルに Qiniu Cloud のアクセス キーを追加します。

qiniu.accessKeyId=your_access_key_id
qiniu.secretKey=your_secret_key
qiniu.bucket=mybucket
qiniu.domain=http://your_domain_url

5. ファイルを Qiniu Cloud KODO

  1. にアップロードします。 QiniuUtils という名前のファイルを作成します。 Tool クラスを作成し、次のコードを追加します:
import com.qiniu.util.Auth;
import com.qiniu.util.StringMap;
import com.qiniu.util.UrlSafeBase64;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import org.json.JSONObject;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.UUID;

public class QiniuUtils {
    private static final String ACCESS_KEY = ConfigUtil.getProperty("qiniu.accessKeyId");
    private static final String SECRET_KEY = ConfigUtil.getProperty("qiniu.secretKey");
    private static final String BUCKET_NAME = ConfigUtil.getProperty("qiniu.bucket");
    private static final String DOMAIN = ConfigUtil.getProperty("qiniu.domain");

    // 上传文件到七牛云KODO
    public static String uploadFile(String filePath) throws IOException {
        String key = UUID.randomUUID().toString(); // 自动生成唯一的key
        String uploadToken = getUploadToken(); // 获取上传凭证

        OkHttpClient client = new OkHttpClient();
        // 读取文件内容
        byte[] data = Files.readAllBytes(Paths.get(filePath));
        RequestBody requestBody = RequestBody.create(MediaType.parse("application/octet-stream"), data);

        // 构建请求
        Request request = new Request.Builder()
                .url("http://upload.qiniu.com/putb64/" + -1 + "/key/" + UrlSafeBase64.encodeToString(key))
                .header("Content-Type", "application/octet-stream")
                .header("Authorization", "UpToken " + uploadToken)
                .post(requestBody)
                .build();

        // 发送请求
        Response response = client.newCall(request).execute();
        if (response.isSuccessful()) {
            JSONObject jsonObject = new JSONObject(response.body().string());
            String url = DOMAIN + "/" + jsonObject.getString("key");
            return url;
        } else {
            throw new IOException("Unexpected code " + response);
        }
    }

    // 获取上传凭证
    private static String getUploadToken() {
        Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
        return auth.uploadToken(BUCKET_NAME);
    }
}
  1. 次に示すように、ファイルをアップロードする必要がある場所で QiniuUtils.uploadFile() メソッドを呼び出します:
public class MainApp {
    public static void main(String[] args) throws IOException {
        String filePath = "path/to/file.jpg";
        String url = QiniuUtils.uploadFile(filePath);
        System.out.println("上传成功,文件URL为:" + url);
    }
}

6. ファイルをダウンロードします。

  1. QiniuUtils クラスに次のコードを追加します。
// 下载文件
public static void downloadFile(String key, String savePath) throws IOException {
    String downloadUrl = DOMAIN + "/" + key;
    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder()
            .url(downloadUrl)
            .build();
    Response response = client.newCall(request).execute();
    if (response.isSuccessful()) {
        byte[] data = response.body().bytes();
        Files.write(Paths.get(savePath), data);
        System.out.println("下载成功,文件保存路径为:" + savePath);
    } else {
        throw new IOException("Unexpected code " + response);
    }
}
  1. ファイルが必要な場所で QiniuUtils.downloadFile() メソッドを呼び出します。次のようにダウンロードされます。 表示:
public class MainApp {
    public static void main(String[] args) throws IOException {
        String key = "file.jpg";
        String savePath = "path/to/save/file.jpg";
        QiniuUtils.downloadFile(key, savePath);
    }
}

7. ファイルを削除します。
QiniuUtils クラスに次のコードを追加します。

// 删除文件
public static void deleteFile(String key) throws IOException {
    Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
    Configuration cfg = new Configuration(Zone.zone0());
    BucketManager bucketManager = new BucketManager(auth, cfg);
    bucketManager.delete(BUCKET_NAME, key);
    System.out.println("删除成功");
}

QiniuUtils.deleteFile() メソッドを呼び出します。次のようにファイルを削除する必要があります。 表示:

public class MainApp {
    public static void main(String[] args) throws IOException {
        String key = "file.jpg";
        QiniuUtils.deleteFile(key);
    }
}

上記は、オブジェクトのストレージと管理に Java と Qiniu Cloud KODO を使用する方法の紹介とサンプル コードです。これらのコードを通じて、ファイルを簡単にアップロード、ダウンロード、削除し、クラウド ストレージ上で基本的な操作を実装できます。この記事がお役に立てば幸いです!

以上がオブジェクトのストレージと管理に Java と Qiniu Cloud KODO を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。