Java と Qiniu Cloud KODO をオブジェクト ストレージと管理に使用する方法
1. はじめに
クラウド コンピューティングとビッグ データの急速な発展に伴い、クラウド ストレージはますます重要な部分になっています。中国でよく知られたオブジェクト ストレージ プラットフォームとして、Qiniu Cloud KODO は強力なストレージおよび管理機能を提供し、Web サイト、モバイル アプリケーション、ライブ ビデオなどの分野で広く使用されています。この記事では、オブジェクトのストレージと管理に Java と Qiniu Cloud KODO を使用する方法を紹介し、対応するコード例を示します。
2. Qiniu Cloud アカウントとストレージ スペースの作成
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
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); } }
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. ファイルをダウンロードします。
// 下载文件 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); } }
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 サイトの他の関連記事を参照してください。