java 使用oos 进行数据上传和跨域

导入依赖

<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.10.2</version>
</dependency>
  • 如果使用的是Java 9及以上的版本,则需要添加jaxb相关依赖。添加jaxb相关依赖示例代码如下:
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>
<!-- no more than 2.3.3-->
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.3.3</version>
</dependency>

编写一个test 或者 c文件 测试

Endpoint:在对象存储的概览

java实现私有oss服务上传文件 java oss_java实现私有oss服务上传文件

阿里云账号AccessKey拥有所有API的访问权限

java实现私有oss服务上传文件 java oss_阿里云_02

使用子账户 创建一个账号选择 编程访问

java实现私有oss服务上传文件 java oss_云存储_03

创建后可以看见 阿里云账号AccessKey和accessKeySecret 注意这又这次创建的时候可以看见

选择添加权限 选择oss权限

java实现私有oss服务上传文件 java oss_java实现私有oss服务上传文件_04

inputStream 这里写上传文件的路径

examplebucket 这对象存储的名字

exampleobject.txt 存储后的名字

// yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
String endpoint = "yourEndpoint";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "yourAccessKeyId";
String accessKeySecret = "yourAccessKeySecret";

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

// 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
InputStream inputStream = new FileInputStream("D:\\localpath\\examplefile.txt");
// 填写Bucket名称和Object完整路径。Object完整路径中不能包含Bucket名称。
ossClient.putObject("examplebucket", "exampleobject.txt", inputStream);

// 关闭OSSClient。
ossClient.shutdown();

完成 上传…

java实现私有oss服务上传文件 java oss_java_05

当深入是如 web端或者小程序端发送请求时的跨域问题可以考在这里解决 ,规则如下配置

java实现私有oss服务上传文件 java oss_java实现私有oss服务上传文件_06