Home> Java> javaTutorial> body text

How to use Java and Qiniu Cloud KODO for object storage and management

WBOY
Release: 2023-07-06 20:01:57
Original
1241 people have browsed it

How to use Java and Qiniu Cloud KODO for object storage and management

1. Introduction
With the rapid development of cloud computing and big data, cloud storage has become an increasingly important part. Qiniu Cloud KODO, as a well-known object storage platform in China, provides powerful storage and management functions and is widely used in websites, mobile applications, live video and other fields. This article will introduce how to use Java and Qiniu Cloud KODO for object storage and management, and give corresponding code examples.

2. Create Qiniu Cloud account and storage space

  1. Visit Qiniu Cloud official website (https://www.qiniu.com/) and click the "Register" button to create an account .
  2. Log in to Qiniu Cloud Console and create a storage space. On the "Storage Space" page of the console, click "New Space", fill in the corresponding information and save it. Here, the storage space is named "mybucket" as an example.

3. Add dependent libraries
Add the following dependent libraries in the pom.xml file of the Java project:

 com.qiniu qiniu-java-sdk 7.4.0 
Copy after login

4. Configure Qiniu Cloud access key
Add the access key of Qiniu Cloud in the configuration file of the Java project, as shown below:

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

5. Upload the file to Qiniu Cloud KODO

  1. Create a file named QiniuUtils Tool class, and add the following code:
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); } }
Copy after login
  1. Call the QiniuUtils.uploadFile() method where the file needs to be uploaded, as shown below:
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); } }
Copy after login

6. Download the file

  1. Add the following code in the QiniuUtils class:
// 下载文件 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); } }
Copy after login
  1. Call the QiniuUtils.downloadFile() method where the file needs to be downloaded, as follows Display:
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); } }
Copy after login

7. Delete files
Add the following code in the QiniuUtils class:

// 删除文件 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("删除成功"); }
Copy after login

Call the QiniuUtils.deleteFile() method where the file needs to be deleted, as follows Display:

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

The above is an introduction and sample code on how to use Java and Qiniu Cloud KODO for object storage and management. Through these codes, we can easily upload, download and delete files, and implement basic operations on cloud storage. Hope this article helps you!

The above is the detailed content of How to use Java and Qiniu Cloud KODO for object storage and management. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!