• 华为obs上传下载-Java版 2023-11-23


    弄了半天,老师帮弄成功了,经过同意,分享到网上,希望能帮助更多人,至于怎么弄的,我也不知道。

    创建idea项目后,项目结构,对应文件没有的创一个

    pom.xm

    注意改Java版本,我的是11,然后重新mavan配置

    1. "1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. <modelVersion>4.0.0modelVersion>
    6. <groupId>org.examplegroupId>
    7. <artifactId>obsartifactId>
    8. <version>1.0-SNAPSHOTversion>
    9. <properties>
    10. <maven.compiler.source>11maven.compiler.source>//修改java版本
    11. <maven.compiler.target>11maven.compiler.target>//修改java版本
    12. <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    13. properties>
    14. <dependencies>
    15. <dependency>
    16. <groupId>com.huaweicloudgroupId>
    17. <artifactId>esdk-obs-java-bundleartifactId>
    18. <version>3.21.11version>
    19. dependency>
    20. <dependency>
    21. <groupId>org.springframework.bootgroupId>
    22. <artifactId>spring-boot-starter-webartifactId>
    23. <version>2.5.4version>
    24. dependency>
    25. <dependency>
    26. <groupId>org.springframework.bootgroupId>
    27. <artifactId>spring-boot-starter-data-jpaartifactId>
    28. <version>2.5.4version>
    29. dependency>
    30. dependencies>
    31. project>

     application.properties

    1. # huawei ods
    2. huawei.obs.ak=修改成你的ak
    3. huawei.obs.sk=修改成你的sk
    4. # ???endPoint
    5. huawei.obs.upload.endPoint=endPoint.com
    6. # ???endPoint
    7. huawei.obs.access.endPoint=https://endPoint.com
    8. # ?
    9. huawei.obs.bucketName=obs-bucket-dev

     ObsDownloader

    修改对应参数,最后返回一个图片地址,访问查看。

    1. package com.example.demo;
    2. import com.obs.services.ObsClient;
    3. import com.obs.services.model.*;
    4. import java.io.File;
    5. public class ObsDownloader {
    6. public static void main(String[] args) {
    7. // 请替换成你的 Access Key 和 Secret Key
    8. String accessKey = "你的 Access Key";
    9. String secretKey = "你的Secret Key";
    10. // 请替换成你的 Endpoint
    11. String endpoint = "你的 Endpoint";
    12. // 请替换成你的桶名称
    13. String bucketName = "你的桶名称";
    14. // 本地文件路径,你的文件目录包含名字
    15. String filePath = "D:\\111.png";
    16. // OBS 对象存储路径,即上传后在桶中的文件路径,包含文件名
    17. String objectKey = "1/iii/111.png";
    18. // 创建 ObsClient
    19. ObsClient obsClient = new ObsClient(accessKey, secretKey, endpoint);
    20. TemporarySignatureRequest request = new TemporarySignatureRequest(HttpMethodEnum.GET, 3600);
    21. //设置桶名,一般都是写在配置里,这里直接赋值即可
    22. request.setBucketName(bucketName);
    23. //这里相当于设置你上传到obs的文件路
    24. request.setObjectKey(objectKey);
    25. TemporarySignatureResponse response = obsClient.createTemporarySignature(request);
    26. System.out.println(response.getSignedUrl());
    27. }
    28. }

    ObsUploader

    1. package com.example.demo;
    2. import com.obs.services.ObsClient;
    3. import com.obs.services.model.PutObjectRequest;
    4. import com.obs.services.model.PutObjectResult;
    5. import java.io.File;
    6. public class ObsUploader {
    7. public static void main(String[] args) {
    8. // 请替换成你的 Access Key 和 Secret Key
    9. String accessKey = "你的 Access Key ";
    10. String secretKey = "你的Secret Key";
    11. // 请替换成你的 Endpoint
    12. String endpoint = "你的 Endpoint";
    13. // 请替换成你的桶名称
    14. String bucketName = "你的桶名称";
    15. // 本地文件路径
    16. String filePath = "D:\\111.png";
    17. // OBS 对象存储路径,即上传后在桶中的文件路径
    18. String objectKey = "1/iii/111.png";
    19. // 创建 ObsClient
    20. ObsClient obsClient = new ObsClient(accessKey, secretKey, endpoint);
    21. // 创建 PutObjectRequest 对象,设置桶名、对象名和本地文件路径
    22. PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectKey, new File(filePath));
    23. try {
    24. // 执行上传
    25. PutObjectResult putObjectResult = obsClient.putObject(putObjectRequest);
    26. // 打印上传成功信息
    27. System.out.println("File uploaded successfully. ETag: " + putObjectResult.getEtag());
    28. } catch (Exception e) {
    29. // 打印上传失败信息
    30. System.err.println("File upload failed. Error: " + e.getMessage());
    31. }
    32. }
    33. }

  • 相关阅读:
    深度学习入门(三十九)计算性能——分布式训练、参数服务器(TBC)
    [附源码]Java计算机毕业设计SSM二手图书回收销售网站
    GO编译时避免引入外部动态库的解决方法
    如何在DBNet中加入新的主干网络
    关于使用鼠标时间mouseMove拖拽元素及元素抖动的解决方案
    springboot
    导航【JDK源码分析】
    SpringMVC入门
    Transformers
    lammps提取和保存data文件中力场参数的技巧
  • 原文地址:https://blog.csdn.net/qq_70280303/article/details/134561184