文件存储(阿里云OSS)的实现

简介

文件包括:视频、音频、图片等。我们一般在开发的过程中,会将文件存储在本地,但是这种情况下会遇到性能的瓶颈、磁盘爆满等问题。那么我们就需要给文件重新找一个存储的位置就是云上。此篇介绍阿里云的文件存储的实现

1、阿里云对象存储的介绍

是一款海量、安全、低成本、高可靠的云存储服务。使用OSS,您可以通过网络随时存储和调用各种文件

2、阿里云的使用步骤: 

bucket:存储空间是用户用于存储对象的容器,所有的对象都必须隶属于某个存储空间

第一步:注册并实名认证

第二步:注册完成后,进入搜索OSS

第三步:搜索出来后,点击立即开通(新用户可以免费使用一段时间)

第四步:如果是开通过的立即开通就会变成管理控制台,完后点击管理控制台,就会进入下面的页面

第五步:我们点击Bucket(这个前面已经介绍过),来创建一个Bucket。

 

第六步:点击点击创建Bucket来创建一个容器,下面是创建时的注意事项

 创建时只需要设置这几个属性,其他的就不需要再设置了。最后点击下面的完成创建即可 

经过上面的步骤我们就创建了一个容器

第七步:实现java开发过程中一些资源上传到阿里云的OSS上

        1、配置AccessKey(密钥),点击头像--->再点击AccessKey管理

        2、如果有可以继续使用,没有就点击创建

        3、配置 AK和SK  ,就是以管理员的身份运行cmd,执行如下命令,配置系统的环境变量
                

set OSS_ACCESS_KEY_ID=你的key

set OSS_ACCESS_KEY_SECRET=你的密码

     4、执行完上述命令后,再执行下面的命令,让其更改生效
                

setx OSS_ACCESS_KEY_ID  "%OSS_ACCESS_KEY_ID%"

setx OSS_ACCESS_KEY_SECRET  "%OSS_ACCESS_KEY_SECRET%"

        5、验证一下环境变量是否生效

echo %OSS_ACCESS_KEY_ID%

echo %OSS_ACCESS_KEY_SECRET%

配置完环境变量后,我们需要重新加载IDEA才能生效

3、阿里云OSS的入门案例

这个案例阿里云给我提供了,我们只需要下载SDK,里面就包含了案例的信息

这个SDK里面就包含了各种开发语言的包,我们查看文档即可,文档就包含了如何配置等功能,根据实际的项目需求来查看不同的文档

 

 第一步:在我们的项目中引入依赖

<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.17.4</version>
</dependency>

【注意】还需要引入这几个依赖

第二步:Java配置访问凭证

使用Java SDK发起OSS请求,您需要配置访问凭证。阿里云服务会通过访问凭证验证您的身份信息和访问权限。我们在前面已经配置过了

 第三步:查看文档根据项目的不同需求,来参考不同代码。完后在IDEA中建一个测试的包,导入即可。

第四步:更改代码配置,把官方代码配置成自己的,有以下几处是需要更改的

第五步:就可以上传图片到阿里云了

4、阿里云上传文件结合Java的实际项目

在实际的项目开发中,可能将图片上传到不同云平台上,但是又不想了解每一个平台代码示例等,此处就有一个强大的文件存储神器----- X File Storage,不同的平台只需要修改配置文件即可,不需要太多的工具类就可以实现文件的存储。

官网:lX File Storage

我们访问官网点击快速入门就可以使用这个工具        快速入门 (xuyanwu.cn)

 5、 X File Storage使用步骤:

第一步:导入依赖(这个一般都是抽出一个公共的模块来)

<dependency>
    <groupId>org.dromara.x-file-storage</groupId>
    <artifactId>x-file-storage-spring</artifactId>
    <version>2.2.0</version>
</dependency>

第二步:配置application.yml 配置文件

 

第三步:要想让配置文件生效,在启动类上加一个@EnableFileStorage的注解

第四步:根据官网选择你要的代码

/**
     * 通用上传请求(单个)
     */
    @PostMapping("/upload")
    public AjaxResult uploadFile(MultipartFile file) throws Exception
    {
        try
        {
          
            FileInfo fileInfo = fileStorageService.of(file)
                    .setPath(objectName)
                    .upload();
            AjaxResult ajax = AjaxResult.success();
            ajax.put("url", fileInfo.getUrl());
            ajax.put("fileName", fileInfo.getUrl());
            ajax.put("newFileName", fileInfo.getUrl());
            ajax.put("originalFilename", file.getOriginalFilename());
            return ajax;
        }
        catch (Exception e)
        {
            return AjaxResult.error(e.getMessage());
        }
    }

经过上述步骤就可以实现文件的上传了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Agnoni

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值