首页 > 编程语言 >阿里云OSS存储--java

阿里云OSS存储--java

时间:2024-07-04 22:29:41浏览次数:18  
标签:java String -- OSS Value url aliyun 上传 oss

在yml文件配置属性,使用@Value进行注入

@Component

public class AliOSSUtils {
    //外部属性注入
    @Value("${aliyun.oss.endpoint}")
    String endpoint ;
   // @Value("${aliyun.oss.accessKeyId}")
    @Value("${aliyun.oss.accessKeySecret}")
    String accessKeyId ;
    @Value("${aliyun.oss.accessKeySecret}")
    String accessKeySecret;
    @Value("${aliyun.oss.bucketName}")
    String bucketName;


    /**
     * 实现上传图片到OSS
     */
    public String upload(MultipartFile file) throws IOException {
        // 获取上传的文件的输入流
        InputStream inputStream = file.getInputStream();

        // 避免文件覆盖
        String originalFilename = file.getOriginalFilename();
        String fileName = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf("."));

        //上传文件到 OSS
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        ossClient.putObject(bucketName, fileName, inputStream);

        //文件访问路径
        String url = "https://web-galvintlias.oss-cn-beijing.aliyuncs.com/"+ fileName;

        // 关闭ossClient
        ossClient.shutdown();
        return url;// 把上传到oss的路径返回
    }

}

在controller中使用

@PostMapping("/upload")
public Result upload(MultipartFile image) throws IOException {
    log.info("文件上传{}",image.getOriginalFilename());
  String url=  aliOSSUtils.upload(image);//调用工具类上传文件
  log.info("文件上传完成:{}" ,url);
  return Result.success(url);//返回路径
}

标签:java,String,--,OSS,Value,url,aliyun,上传,oss
From: https://blog.csdn.net/Galvincat/article/details/140191451

相关文章

  • c++类模板及应用
    文章目录为什么要有函数模板一般实现举例类模板举例继承中类模板的使用特殊情况友元函数模板类和静态成员类模板实践为什么要有函数模板项目需求:实现多个函数用来返回两个数的最大值,要求能支持char类型、int类型、double一般实现举例类模板举例继承中类模......
  • 实现第一个神经网络
    PyTorch包含创建和实现神经网络的特殊功能。在本节实验中,将创建一个简单的神经网络,其中一个隐藏层开发一个输出单元。通过以下步骤使用PyTorch实现第一个神经网络。第1步首先,需要使用以下命令导入PyTorch库。In [1]:import torchimport torch.nnas nn第2步定......
  • RealMAN:大规模真实录制且经过注释的麦克风阵列数据集
        在深度学习驱动的多通道语音增强和声源定位系统的开发中,由于缺乏大规模的真实录制数据集,这些系统的训练在很大程度上依赖于房间脉冲响应(RIR)和多通道扩散噪声的模拟。然而,模拟数据和真实世界数据之间存在的声学失配可能会导致模型在应用于现实场景时性能下降。现有数......
  • (高数)二重积分的计算——直角坐标系
    二重积分的含义:一重积分是把函数分为一小条一小条来近似求和计算出一个面积,而二重积分则是多了一个维度,原本每个小条的背后都是一个平面,这些面积则需要对另一个变量求积分得出了。既然要求两个积分,先后就是一个问题。先求的积分为内层积分,后者为外层积分。做题时我们要先固......
  • (高数)二重积分的定义
    二重积分的定义:底面积乘该点的函数的函数值,得出一个小立体块的体积,然后求和取极限。 当函数值恒为正时积分最大,恒为负时最小,若有正有负则正积分减负积分。 3.二重积分的性质:其中性质五的意思是,在函数的最大值和最小值之间一定有一个值,这个函数值乘整个立体图形的面积等于......
  • Land survey boundary report (template)
    Landsurveyboundaryreport(template) 土地勘测定界报告(模板).doc......
  • 【GZIP压缩的二进制数据】
    目录方案概览欢迎关注微信公众号:数据科学与艺术作者WX:superhe199直接在自定义协议中嵌入GZIP压缩的二进制数据需要确保数据能够跨系统边界正确传输。这意味着,你需要在JSON之外定义一种方式来标记二进制数据的开始和结束,以及可能的长度信息。由于标准JSON不直接支......
  • 植物大战僵尸融合版1.0下载(全部植物合体)
    如果你是《植物大战僵尸》系列的忠实粉丝,那么有一个好消息:一款全新的改版游戏——《植物大战僵尸融合版》已经上线。这不仅仅是一次简单的更新,而是一次彻底的玩法革新。B站UP主蓝飘飘fly精心打造的这个版本,为玩家带来了前所未有的游戏体验。融合升级,创意无限在《植物大战僵......
  • 顶级10大AI测试工具
      每周跟踪AI热点新闻动向和震撼发展想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行!订阅:https://......
  • 在Ubantu22.04中运行ORB_SLAM3并进行源码解析
    在Ubantu22.04中运行ORB_SLAM3并进行源码解析1.ORB_slam3简介ORB-SLAM3是一款前沿的即时定位与建图(SLAM)系统,专为大规模环境下的实时定位与三维重建设计。系统兼容多种视觉传感器配置,包括单目、立体双目以及RGB-D相机。ORB-SLAM3采用OrientedFAST和RotatedBRIEF(ORB)算法进......