Rumah  >  Artikel  >  Java  >  Cara menggunakan Java dan Qiniu Cloud KODO untuk penyimpanan dan pengurusan objek

Cara menggunakan Java dan Qiniu Cloud KODO untuk penyimpanan dan pengurusan objek

WBOY
WBOYasal
2023-07-06 20:01:571258semak imbas

Cara menggunakan Java dan Qiniu Cloud KODO untuk penyimpanan dan pengurusan objek

1 Pengenalan
Dengan perkembangan pesat pengkomputeran awan dan data besar, storan awan telah menjadi bahagian yang semakin penting. Sebagai platform storan objek yang terkenal di China, Qiniu Cloud KODO menyediakan fungsi storan dan pengurusan yang berkuasa dan digunakan secara meluas dalam tapak web, aplikasi mudah alih, video langsung dan bidang lain. Artikel ini akan memperkenalkan cara menggunakan Java dan Qiniu Cloud KODO untuk penyimpanan dan pengurusan objek, serta memberikan contoh kod yang sepadan.

2. Cipta akaun Qiniu Cloud dan ruang storan

  1. Lawati laman web rasmi Qiniu Cloud (https://www.qiniu.com/) dan klik butang "Daftar" untuk membuat akaun.
  2. Log masuk ke Qiniu Cloud Console dan buat ruang storan. Pada halaman "Ruang Storan" konsol, klik "Ruang Baharu", isikan maklumat yang sepadan dan simpannya. Di sini, ruang storan dinamakan "mybucket" sebagai contoh. . kod:
<dependency>
    <groupId>com.qiniu</groupId>
    <artifactId>qiniu-java-sdk</artifactId>
    <version>7.4.0</version>
</dependency>


Panggil QiniuUtils.uploadFile di mana anda perlu memuat naik fail () kaedah, seperti yang ditunjukkan di bawah:

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

6. Muat turun fail

Tambah kod berikut dalam kelas Qiniu
    reee:
  1. reee
Panggil kaedah QiniuUtils.downloadFile() di mana fail perlu dimuat turun, seperti yang ditunjukkan di bawah:
  1. 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);
        }
    }
  2. 7. Padam fail
Tambahkan kod berikut dalam kelas QiniuUtils:

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);
    }
}

Panggil kaedah QiniuleUtils.delete di mana fail perlu dipadamkan, seperti yang ditunjukkan di bawah:
    // 下载文件
    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. Di atas adalah mengenai cara menggunakan Java dengan Qiniu Pengenalan dan kod sampel untuk penyimpanan dan pengurusan objek menggunakan Cloud KODO. Melalui kod ini, kami boleh memuat naik, memuat turun dan memadam fail dengan mudah dan melaksanakan operasi asas pada storan awan. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Cara menggunakan Java dan Qiniu Cloud KODO untuk penyimpanan dan pengurusan objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn