首页 > 编程语言 >Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析

Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析

时间:2024-09-15 22:22:32浏览次数:10  
标签:Javaweb OSS System SpringBootWeb String println import oss out


 2.3.2 入门

阿里云oss 对象存储服务的准备工作我们已经完成了,接下来我们就来完成第二步操作:参照官方所提供的sdk示例来编写入门程序。

首先我们需要来打开阿里云OSS的官方文档,在官方文档中找到 SDK 的示例代码:

Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析_上传

编辑

Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析_System_02

编辑

Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析_上传_03

编辑

Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析_System_04

编辑

参照官方提供的SDK,改造一下,即可实现文件上传功能:

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;

import java.io.FileInputStream;
import java.io.InputStream;

public class AliOssTest {
    public static void main(String[] args) throws Exception {
        // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
        String endpoint = "oss-cn-shanghai.aliyuncs.com";
        
        // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
        String accessKeyId = "LTAI5t9MZK8iq5T2Av5GLDxX";
        String accessKeySecret = "C0IrHzKZGKqU8S7YQcevcotD3Zd5Tc";
        
        // 填写Bucket名称,例如examplebucket。
        String bucketName = "web-framework01";
        // 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
        String objectName = "1.jpg";
        // 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。
        // 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
        String filePath= "C:\\Users\\Administrator\\Pictures\\1.jpg";

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

        try {
            InputStream inputStream = new FileInputStream(filePath);
            // 创建PutObjectRequest对象。
            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
            // 设置该属性可以返回response。如果不设置,则返回的response为空。
            putObjectRequest.setProcess("true");
            // 创建PutObject请求。
            PutObjectResult result = ossClient.putObject(putObjectRequest);
            // 如果上传成功,则返回200。
            System.out.println(result.getResponse().getStatusCode());
        } 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();
            }
        }
    }
}

在以上代码中,需要替换的内容为:

  • accessKeyId:阿里云账号AccessKey
  • accessKeySecret:阿里云账号AccessKey对应的秘钥
  • bucketName:Bucket名称
  • objectName:对象名称,在Bucket中存储的对象的名称
  • filePath:文件路径

AccessKey :

Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析_上传_05

编辑

运行以上程序后,会把本地的文件上传到阿里云OSS服务器上:

Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析_上传_06

编辑



标签:Javaweb,OSS,System,SpringBootWeb,String,println,import,oss,out
From: https://blog.51cto.com/u_16265376/12025903

相关文章

  • 10个JavaWeb和JavaSE小项目:SSM、SpringBoot。毕设学习好模板。
    本仓列举了15个JavaWeb和JavaSE小项目:有SSM的、SpringBoot+Mybatis的、纯JavaSE+JavaFX的。对初学者非常友好,感兴趣的同学拿去学习。有问题请私信我。汽车租赁管理demo教务信息查询管理demo简易就业信息管理系统简易理财管理系统医院人事管理系统房屋租赁管理dem......
  • 【2025】javaweb教师工作量管理系统(源码+文档+调试+答疑)
    ......
  • 【附源码】超市管理系统(源码+数据库+毕业论文+答辩ppt齐全)java开发springboot框架vu
    ......
  • Javaweb之SpringBootWeb案例之阿里云OSS服务的详细解析
     2.3阿里云OSS2.3.1准备阿里云是阿里巴巴集团旗下全球领先的云计算公司,也是国内最大的云服务提供商。编辑云服务指的就是通过互联网对外提供的各种各样的服务,比如像:语音服务、短信服务、邮件服务、视频直播服务、文字识别服务、对象存储服务等等。当我们在项目开发时需要用到某......
  • abc370D Cross Explosion
    一开始并查集写的,ga掉。set应用一道非常好的题目。```#include<bits/stdc++.h>#include<set>#definesiiset<int>::iteratorusingnamespacestd;inth,w,q,ans;set<int>s1[400007],s2[400007];voiddel(intx,inty){//printf("%d%d\n",x,......
  • Tomcat_使用IDEA开发javaWeb工程并部署运用
    目录1.配置文件点击fileprojectStructure   配置SDK和languagelevel的语言版本一致。apply然后ok。2.然后点击web-all创建一个moudle叫做demo02-web02。 3.这仅仅是一个java的目录结构,我们需要把他转换成javaweb的结构。所以我们需要添加web资源组件。右击demo02-......
  • 软件设计之JavaWeb(2)
    软件设计之JavaWeb(2)此篇应在MySQL之后进行学习:路线图推荐:【Java学习路线-极速版】【Java架构师技术图谱】尚硅谷全新JavaWeb教程,企业主流javaweb技术栈资料可以去尚硅谷官网免费领取此章节最好学完JDBC观看学习内容:HTTP简介Servlet1、HTTP简介交互的方式:请求......
  • Javaweb之SpringBootWeb案例本地存储的详细解析
     2.2本地存储前面我们已分析了文件上传功能前端和后端的基础代码实现,文件上传时在服务端会产生一个临时文件,请求响应完成之后,这个临时文件被自动删除,并没有进行保存。下面呢,我们就需要完成将上传的文件保存在服务器的本地磁盘上。代码实现:在服务器本地磁盘上创建images目录,用来存......
  • 2025年JavaWeb技术打造社区老人健康管理系统,3步轻松设计与实现,建议收藏!
    ✍✍计算机毕业编程指导师**⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java、Python、微信小程序、大数据实战项目集⚡⚡文末......
  • 基于Node.js+vue直面BOSS招聘管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在当今竞争激烈的就业市场中,招聘与求职双方均面临着信息不对称、沟通效率低下的挑战。传统招聘方式往往依赖于线下招聘会、招聘网站的海量信息筛选,以及繁琐......