객체 스토리지 및 관리를 위해 Java 및 Qiniu Cloud KODO를 사용하는 방법
1. 소개
클라우드 컴퓨팅과 빅데이터의 급속한 발전으로 클라우드 스토리지는 점점 더 중요한 부분이 되었습니다. 중국에서 잘 알려진 객체 스토리지 플랫폼인 Qiniu Cloud KODO는 강력한 스토리지 및 관리 기능을 제공하며 웹사이트, 모바일 애플리케이션, 라이브 비디오 및 기타 분야에서 널리 사용됩니다. 이 기사에서는 객체 저장 및 관리를 위해 Java 및 Qiniu Cloud KODO를 사용하는 방법을 소개하고 해당 코드 예제를 제공합니다.
2. Qiniu Cloud 계정 및 저장 공간 만들기
3. 종속 라이브러리 추가
아래와 같이 Java 프로젝트의 pom.Key에 다음 종속 라이브러리를 추가합니다.
<dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>7.4.0</version> </dependency>
5. Qiniu Cloud KODO
에 파일을 업로드하고 QiniuUtils라는 도구 클래스를 추가합니다. 코드:
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); } }
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); } }
QiniuUtils.deleteFile() 메서드를 호출합니다. 파일을 삭제해야 하는 위치는 아래와 같습니다.
// 删除文件 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("删除成功"); }위는 Qiniu에서 Java를 사용하는 방법에 대한 설명입니다. Cloud KODO를 사용한 객체 저장 및 관리에 대한 소개 및 샘플 코드입니다. 이러한 코드를 통해 우리는 쉽게 파일을 업로드, 다운로드, 삭제할 수 있으며 클라우드 스토리지에서 기본 작업을 구현할 수 있습니다. 이 기사가 도움이 되기를 바랍니다!
위 내용은 객체 저장 및 관리를 위해 Java 및 Qiniu Cloud KODO를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!