简介
文件包括:视频、音频、图片等。我们一般在开发的过程中,会将文件存储在本地,但是这种情况下会遇到性能的瓶颈、磁盘爆满等问题。那么我们就需要给文件重新找一个存储的位置就是云上。此篇介绍阿里云的文件存储的实现
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());}}
经过上述步骤就可以实现文件的上传了