首页 > 编程语言 >java中使用对象储存OSS

java中使用对象储存OSS

时间:2023-03-22 11:11:38浏览次数:36  
标签:储存 java String OSS ACCESS static import public

首先获取 ACCESS_KEYSECRET  与  ACCESS_KEYID

 获取  ENDPOINT 与 ALI_DOMAIN 与 BUCKET_NAME(存储空间名称)

代码

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.apache.commons.io.FilenameUtils;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

/**
 * 阿里云视频上传工具
 */
public class UploadVideoUtil {

    //阿里域名=https://+ Bucket 域名 +/
    public static final String ALI_DOMAIN = "https://dashanbook.oss-cn-shenzhen.aliyuncs.com/";
    //ENDPOINT = https://+ Endpoint(地域节点 外网域名)
    public static final String ENDPOINT = "https://oss-cn-shenzhen.aliyuncs.com";

    public static final String ACCESS_KEYSECRET = "6TPrPrLufY9c5210RqDEk9sMuOLTxH"; // TODO 修改成自己的
    public static final String ACCESS_KEYID = "LTAI5tGtUPtiRcmhXjUhEHcU"; // TODO 修改成自己的

    //仓库名
    public static final String BUCKET_NAME = "dashanbook";

    //    String object_Name,
    public static String createOSSClient(MultipartFile multipartFile) {
        Map<String, Object> map = new HashMap<>();
//生成文件名
        String originalFilename = multipartFile.getOriginalFilename(); //原来的图片名
        String ext = "." + FilenameUtils.getExtension(originalFilename);
        String uuid = UUID.randomUUID().toString().replace("-", "");
        String fileName = uuid + ext;

        String endpoint = ENDPOINT;
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
        String accessKeyId = ACCESS_KEYID;
        String accessKeySecret = ACCESS_KEYSECRET;
        String bucketName = BUCKET_NAME;//仓库名

// 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        String objectName = fileName;
        try {

            ossClient.putObject(bucketName,
                    objectName,
                    multipartFile.getInputStream());
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            Date expiredTime = new Date(System.currentTimeMillis() + 3600L * 1000L);
            // 关闭OSSClient。
            ossClient.shutdown();
//            return Result.ok().data(map);
            return ALI_DOMAIN + objectName;
        }
    }
}

 

标签:储存,java,String,OSS,ACCESS,static,import,public
From: https://www.cnblogs.com/xbinbin/p/17242955.html

相关文章

  • Java面试问题
    1、面向对象的特征有哪些方面?答:抽象、继承、封装、多态。1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对......
  • Java 资源加载库 Azzet
    Azzet是一个简单的Java类库,用于从不同的源中加载资源。示例代码:BufferedImageimg=Assets.load("http://www.google.com/logos/classicplus.png");//loadedfrom......
  • Java关键字-volatile详解
    点击  ​​Mr.绵羊的知识星球​​ 解锁更多优质文章。一、介绍1.简介  volatile是java关键字,同时也是JVM提供的轻量级的同步机制2.特性  你需要先了解一下Jav......
  • java通过短信发送验证码
    /**如uid是:test,登录密码是:123123pwd=md5(123123test),即pwd=b9887c5ebb23ebb294acab183ecf0769线生成地址:http://www.sms.cn/password*/......
  • java代码中获取classpath路径
    javaweb工程中,有时候需要自己手动的去读取classpath下面的配置文件,这里总结一点读取classpath路径的方法,分享一下。方法一:Stringpath=Test.class.getResource("/").......
  • JavaScript 浏览器打断点 Debugging
      1.下面我们看一个例子,这里是5+1=6,但是结果是51   console.log效率会比较低  2.debug可以暂停代码,和查看变量,按F12,看Sources  3.展开鼠标类型,......
  • Java Spring使用EventSource进行服务端推送
    Java代码:@ResponseBody@RequestMapping(value="/getDate",produces="text/event-stream;charset=UTF-8")publicvoidgetDate(HttpServletResponse......
  • Java中实现按字符串位数在前面补0
    场景现在要将4在前面补位为0004。实现1.首先将方法包装为工具类StringwaterCode=CommonUtils.fillZeroBeforeString(String.valueOf(max),4);其中max为最大值即4,第二个参......
  • Java远程唤醒mac
    关机的,大家都会……想比我就不说了吧!通过IP,使用shutdown命令,外加参数……附上地址,OK。packagecom.iaiai.test;importjava.net.DatagramPacket;i......
  • Java并发夺命50问
    本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校......