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
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
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); } }
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); } }
// 下载文件 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); } }
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 est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!