首页 > 其他分享 >springboot上传图片到阿里云

springboot上传图片到阿里云

时间:2024-02-02 14:00:58浏览次数:20  
标签:springboot OSS System 阿里 static println out 上传 String

1.登录注册  购买oss服务

2.创建Bucket

3.获取accesskey

4.编写阿里云上传工具类

public class AliOssUtil {
    private static final String ENDPOINT = "https://oss-cn-beijing.aliyuncs.com";
    private static final String ACCESS_KEY_ID="填写自己的accesskey";
    private static final String ACCESS_KEY_SECRET="填写自己的secret";
    // 填写Bucket名称,例如examplebucket。
    private static final String BUCKET_NAME = "big-eevent7";
    // 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
    public static String uploadFile(String objectName, InputStream inputStream) throws Exception {


        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(ENDPOINT, ACCESS_KEY_ID,ACCESS_KEY_SECRET);
        String url = "";
        try {
            // 填写字符串。
            String content = "Hello OSS,你好世界";

            // 创建PutObjectRequest对象。
            PutObjectRequest putObjectRequest = new PutObjectRequest(BUCKET_NAME, objectName, inputStream);

            // 如果需要上传时设置存储类型和访问权限,请参考以下示例代码。
            // ObjectMetadata metadata = new ObjectMetadata();
            // metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString());
            // metadata.setObjectAcl(CannedAccessControlList.Private);
            // putObjectRequest.setMetadata(metadata);

            // 上传字符串。
            PutObjectResult result = ossClient.putObject(putObjectRequest);
            url="https://"+BUCKET_NAME+"."+ENDPOINT.substring(ENDPOINT.lastIndexOf("/")+1)+"/"+objectName;

        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
        return url;
    }
}

5.在需要上传的地方调用该方法

标签:springboot,OSS,System,阿里,static,println,out,上传,String
From: https://www.cnblogs.com/jiajianchengchu/p/18003067

相关文章

  • 第17天:信息打点-语言框架&开发组件&FastJson&Shiro&Log4j&SpringBoot等
    框架:简单代码的一个整合库,如果使用框架就只需要学习使用框架调用即可如:文件上传功能是需要很多代码来实现的,框架把这个代码进行封封装,调用即可影响:如果采用框架开发,代码的安全性是取决于框架的过滤机制 #Python-开发框架-Django&FlaskDjango1、识别插件2、Set-Cookie:expi......
  • SpringBoot自动化配置原理
    SpringBoot自动化配置从注解@SpringBootApplication开始,它封装的注解如下图所示:需要注意的有三个注解:1.第一个注解是@SpringBootConfiguration,底层是一个@Configuration注解,表示当前类是一个配置类,可以使得引导类中的SpringBoot或Spring配置能生效2.第二个注解是@ComponentSc......
  • SpringBoot利用ThreadPoolTaskExecutor批量插入百万级数据实测!
    开发目的: 提高百万级数据插入效率。采取方案: 利用ThreadPoolTaskExecutor多线程批量插入。采用技术: springboot2.1.1+mybatisPlus3.0.6+swagger2.5.0+Lombok1.18.4+postgresql+ThreadPoolTaskExecutor等。application-dev.properties添加线程池配置信息#异步线程配置#配置核......
  • mozhe靶场: WebShell文件上传漏洞分析溯源(第5题) 题解(使用哥斯拉)
    哥斯拉由java编写,可以在linux上使用.个人认为比冰蝎好用,用冰蝎连不上这个靶场,但是哥斯拉可以连的上.github搜哥斯拉就能下载首先登陆后台,弱口令adminadmin点击添加文章,尝试上传一句话木马(一句话木马可以点击哥斯拉的生成)webshell.asp<%evalrequest("pass")%>......
  • SpringBoot的自动化配置原理
    1.启动类上有一个注解,是一个复合注解,由三个注解组成第一个注解是@SpringBootConfiguration,底层是一个@Configuration注解,表示当前类是一个配置类第二个注解是@ComponentScan是一个组件扫描,spring会扫描引导类所在包及子包下的组件第三个注解是@EnableAutoConfiguration注......
  • docker登录harbor仓库上传镜像
    在docker中写入harbor仓库地址vi/etc/docker/daemon.json{"registry-mirrors":["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://kfwkf......
  • SpringBoot3 整合 SQLite3 + MybatisPuls
    !!前置要求!!假设你已经掌握SpringBoot3、Maven、Mybaits、MybatisPuls。假设你已经新建好SQLite3测试库。如果没有可以按此结构新建,保存到任意位置。1.项目结构2.依赖注意SpringBoot3版本这边用最新的打包失败,所以改用3.1.2pom.xml<?xmlversion="1.0"encoding="......
  • SpringBoot自动化配置原理
    先在pom.xml文件中引入配置依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId><version>2.1.4.RELEASE</version>&......
  • 最新中国数据库排行出炉:阿里自研PolarDB首次登顶!
    今天,数据库社区“墨天轮”发布了最新的一期中国数据库流行度排行榜,阿里云自研云原生数据库PolarDB首次登顶,并刷新了榜单总分纪录。该榜单根据搜索引擎数据、核心案例数、资质数量、专利数、论文数等标准,对目前主流的国产数据库进行综合评比,体现了数据库在互联网上的流行度。在20......
  • SpringBoot自动化配置
    SpringBoot自动化配置一.SpringBoot自动化配置原理1.SpringBoot引导类注解介绍在SpringBoot的启动引导类上有一个@SpringBootApplication注解这个注解中有三个Spring的注解,分别是@SpringBootConfiguration/@CompoenetScan/@EnableAutoConfiguration2.@SpringBootCo......