Maison  >  Article  >  Java  >  Comment utiliser Java et Qiniu Cloud KODO pour le stockage et la gestion d'objets

Comment utiliser Java et Qiniu Cloud KODO pour le stockage et la gestion d'objets

WBOY
WBOYoriginal
2023-07-06 20:01:571295parcourir

Comment utiliser Java et Qiniu Cloud KODO pour le stockage et la gestion d'objets

1 Introduction
Avec le développement rapide du cloud computing et du big data, le stockage dans le cloud est devenu un élément de plus en plus important. En tant que plate-forme de stockage d'objets bien connue en Chine, Qiniu Cloud KODO fournit de puissantes fonctions de stockage et de gestion et est largement utilisée dans les sites Web, les applications mobiles, la vidéo en direct et d'autres domaines. Cet article expliquera comment utiliser Java et Qiniu Cloud KODO pour le stockage et la gestion d'objets, et donnera des exemples de code correspondants.

2. Créez un compte Qiniu Cloud et un espace de stockage

  1. Visitez le site officiel de Qiniu Cloud (https://www.qiniu.com/) et cliquez sur le bouton « S'inscrire » pour créer un compte.
  2. Connectez-vous à Qiniu Cloud Console et créez un espace de stockage. Sur la page « Espace de stockage » de la console, cliquez sur « Nouvel espace », renseignez les informations correspondantes et enregistrez-le. Ici, l'espace de stockage est nommé « mybucket » à titre d'exemple.

3. Ajoutez des bibliothèques dépendantes
Ajoutez les bibliothèques dépendantes suivantes dans la clé pom du projet Java, comme indiqué ci-dessous :

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

5. Téléchargez des fichiers sur Qiniu Cloud KODO

Créez une classe d'outils nommée QiniuUtils et ajoutez les éléments suivants. code :

    qiniu.accessKeyId=your_access_key_id
    qiniu.secretKey=your_secret_key
    qiniu.bucket=mybucket
    qiniu.domain=http://your_domain_url
  1. Appelez QiniuUtils.uploadFile où vous devez télécharger la méthode files (), comme indiqué ci-dessous :
    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. 6. Téléchargez le fichier

Ajoutez le code suivant dans la classe 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);
        }
    }
  1. Appelez la méthode QiniuUtils.downloadFile() là où le fichier doit être téléchargé, comme indiqué ci-dessous :
    // 下载文件
    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. 7. Supprimez les fichiers
  2. Ajoutez le code suivant dans la classe QiniuUtils :
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);
    }
}

Appelez la méthode QiniuUtils.deleteFile() où le fichier doit être supprimé, comme indiqué ci-dessous :

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

Ce qui précède explique comment utiliser Java avec Qiniu. Une introduction et un exemple de code pour le stockage et la gestion d'objets à l'aide de Cloud KODO. Grâce à ces codes, nous pouvons facilement télécharger, télécharger et supprimer des fichiers et mettre en œuvre des opérations de base sur le stockage cloud. J'espère que cet article vous aidera !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn