跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 工具系统 > 广告工具 > java中如何使用,阿里云OSS对象存储服务

java中如何使用,阿里云OSS对象存储服务

时间:2024-04-21 14:10:27 来源:网络cs 作者:欧阳逸 栏目:广告工具 阅读:

标签: 对象  服务  使用 

文章目录目录

1、打开阿里云官网并登录

2、开通OSS对象存储服务

3、在java中使用这个OSS对象存储服务

3.1、获取AccessKey

3.3、在Java中使用oss


1、打开阿里云官网并登录

打开阿里云官网,点击右上角的登录,进行登陆账号

2、开通OSS对象存储服务

我们在这里选择控制台

点击左上角的三条线

可以看到这里阿里云提供了特别多的服务,我们在这里搜索oss,即可看到oss对象存储服务,我们打开它

我们点击开通

我们就会来到这个页面,想要存储数据我们得用到Bucket列表并进行创建Bucket

打开以下页面后,我们只需要选择这两个即可,有其他需求的看你们自己

然后我们选择确定,这样就创建了一个Bucket了

然后我们点击bucket列表看到自己新建的bucket,我们进行打开

就可以在这里做上传文件或是其他的操作了

3、在java中使用这个OSS对象存储服务

想要在自己的项目中使用阿里云的oss对象存储服务,我们需要三个东西,一个是bucket、AccessKey(id, 密钥)、endpoint

bucket有了、endpoint也有了、就差一个AccessKey了,这个是你使用阿里云服务的权证

3.1、获取AccessKey

我们点击右上角头像,选择AccessKey管理

我们来到这个页面点击创建

然后我们可以看到下面这个,我们得到了ID 和Secret就可以了,我们可以选择下载csv文件进行key的保存,然后点击确定即可

3.3、在Java中使用oss

阿里云官方提供给了我们在编程语言上使用oss的示例,我们点击这个SDK下载

我们来到这个野米安查看SDK示例,右侧会出现官方文档,我们点击进入文档中心

这里可以查看需要在哪类语言上使用oss可以查看对应的示例,这里我选择JAVA

注意!!!注意!!!注意!!!

想要在java中使用oss对象存储服务,最低版本的jdk要1.7,这里文档上都有说明

这里有三种方式,MAVEN工程方式,Eclipse、Intelli JIDEA的方式

需要注意:在

配置好了后,我们接着往下看,我们选择简单上传

然后文档往下拉,找到文件上传,这里有官方提供的示例代码


我这里直接使用我自己改造官方的代码:

accessKeyId就是我们刚刚创建的AccessKeyID还有Secret

bucketName:就是这里的名字

endpoint:就是这个节点,我们只需要对应赋值就行了

我这里的代码在文件上传结束后,返回的是一个访问该连接图片的地址,固定写就可以了,参数列表为文件的字节流,和上传的文件名

package com.sky.utils;import com.aliyun.oss.ClientException;import com.aliyun.oss.OSS;import com.aliyun.oss.OSSClientBuilder;import com.aliyun.oss.OSSException;import lombok.AllArgsConstructor;import lombok.Data;import lombok.extern.slf4j.Slf4j;import java.io.ByteArrayInputStream;@Data@AllArgsConstructor@Slf4jpublic class AliOssUtil {    private String endpoint;    private String accessKeyId;    private String accessKeySecret;    private String bucketName;    /**     * 文件上传     *     * @param bytes     * @param objectName     * @return     */    public String upload(byte[] bytes, String objectName) {        // 创建OSSClient实例。        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);        try {            // 创建PutObject请求。            ossClient.putObject(bucketName, objectName, new ByteArrayInputStream(bytes));        } 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();            }        }        //文件访问路径规则 https://BucketName.Endpoint/ObjectName        StringBuilder stringBuilder = new StringBuilder("https://");        stringBuilder                .append(bucketName)                .append(".")                .append(endpoint)                .append("/")                .append(objectName);        log.info("文件上传到:{}", stringBuilder.toString());        return stringBuilder.toString();    }}

进行测试,注意使用IO流读取文件

package test;import com.sky.utils.AliOssUtil;public class osstest {    public static void main(String[] args) {        AliOssUtil aliOssUtil = new AliOssUtil("oss-cn-hangzhou.aliyuncs.com","key","secret","sxy-project");        // 这里得使用文件的io流读取文件,        String file =  "D:\\2.png";        String fileName = "2.jpg";        // 参数1:转成字节数组 参数2:文件名        String filePath = aliOssUtil.upload(file.getBytes(), fileName);        System.out.printf(filePath);    }}

然后我们回到oss进行查看:发现上传成功了,但是图片是坏的,因为我们没有使用IO流读取文件

本文链接:https://www.kjpai.cn/news/2024-04-21/160940.html,文章来源:网络cs,作者:欧阳逸,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论