当完成了员工和部门管理的两大模块的所有根本功能,那么我们接下来就先举行yml文件设置。
Yml文件设置
为什么要换
我们需要把这个application.properties设置文件改成application.yml,因为对比了其他的设置文件的格式,有诸如一下优点
中文变成???
那么我们进入application.properties,中文变成了????这是因为我们的设置文件的编码不是UTF-8的格式,尽管你右下角是UTF-8,但是设置文件不是默认的UTF-8
所以我们只需要在IDEA以此打开Settings-->Editor-->File Encodings
把下面四个都改成UTF-8,钩也勾上去,然后你再将将问号改为你需要的汉字。
重启IDEA,再次检察你的.properties文件就会发现再没有变成问号了
但是请注意:这个修改方法只能用于修改该项目,不能完全改变IDEA的编码格式,新建一个项目会发现编码格式又变回默认的GBK
想要完全更改需要先关闭项目,选择全局设置
然后再像刚才那样选择UTF-8,勾选,就可以了
这时间再打开你的项目,再次检察你的.properties文件就会发现再没有变成问号了
文件自动转换成yml
当内里的设置文件许多的时间。手写肯定耗时间,我们下载这个插件
如果下载失败没关系,第二天再试试说不定就行了。因为我们访问的是外洋的网,网速会很慢,而且会被限制。除非你有梯子
然后右键点击文件,选择Convert谁人第一个选项,就可以自动转换成yml格式的文件了
如图
阿里云OSS
我们前端保存的图片会去哪,我们当地的数据库吗?那么当有许多人用你这台服务器,那你的电脑不久很快没有空间了。所以我们可以把图片保存到云服务器上来存储。
这里我以阿里云OSS为例。
欣赏器搜刮阿里云,然后登录,点击如下图的控制台
将鼠标移至产品,找到并单击对象存储OSS,打开OSS产品详情页面。在OSS产品详情页中的单击立即开通。
点击对象存储服务OSS
他会弹出这个界面,也可能没弹出,你就开通一下就行了(没要你交钱)
这时间你点击bucket列表创建bucket
如下图,其他的默认就行,就是你的读写取信必须是公共读
然后点击SDK下载,选择SDK示例,然后在文档中央打开
然后选择java,先选择安装,因为我是JDK19,所以上下两个的设置我都要复制到pom.xml文件当中
如图所示。记得点击右上角的maven革新!
然后在简单上传选择文件上传
直接把那段代码复制,在项目标当地测试类中新建一个FDemo的java代码,粘贴上去,代码爆红的话是因为你设置的pom.xml没有革新!
然后你去改代码,就该四个部分
第一个就是,你是南京,就改成nanjing,北京就改成beijing。
之后你要创建一个accessKey ID和Sercet,点击你的头像,选择如下
你点击创建,输入验证码,你就会收到AccessKey ID和AccessKey Sercret,你保存好,直接复制到某个txt文件里存着。
之后你就把他们添加到环境变量里去。
你打开设置,选择系统,拉到最底下,选择系统信息,高级系统设置
然后按如下图,创建OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET两个环境变量,把你刚才保存的复制进去。之后点击确定确定退出即可。
然后你去启动代码,到你的bucket列表检察,有你的文件说明没问题
设置阿里云
1.现在你的application.yml编写你的设置,如下,把这个咱贴到你那,然后把xxxx改成你的
- aliyun:
- oss:
- endpoint: https://oss-cn-xxxxx.aliyuncs.com # 域名
- accessKeyId: xxxxxxxxxxx # 密钥的ID
- accessKeySecret: xxxxxxxxxxx # Secret密钥
- bucketName: xxxxxxxxx # bucket名称
复制代码 2.然后设置最大文件大小和最大文件请求大小,这个设置放在spring下
- spring:
- servlet:
- multipart:
- max-file-size: 10MB
- max-request-size: 100MB
复制代码
3.然后新建一个工具类,内里有AliOSSProperties和AliOSSUtils
 AliOSSUtils
- package com.itheima.utils;
- import com.aliyun.oss.OSS;
- import com.aliyun.oss.OSSClientBuilder;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Component;
- import org.springframework.web.multipart.MultipartFile;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.UUID;
- /**
- * 阿里云 OSS 工具类
- */
- @Component
- public class AliOSSUtils {
- @Value("${aliyun.oss.endpoint}")
- private String endpoint;
- @Value("${aliyun.oss.accessKeyId}")
- private String accessKeyId;
- @Value("${aliyun.oss.accessKeySecret}")
- private String accessKeySecret;
- @Value("${aliyun.oss.bucketName}")
- private String bucketName;
- @Autowired
- private AliOSSProperties aliOSSProperties;
- /**
- * 实现上传图片到OSS
- */
- public String upload(MultipartFile file) throws IOException {
- // 获取上传的文件的输入流
- InputStream inputStream = file.getInputStream();
- // 避免文件覆盖
- String originalFilename = file.getOriginalFilename();
- String fileName = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf("."));
- //上传文件到 OSS
- OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
- ossClient.putObject(bucketName, fileName, inputStream);
- //文件访问路径
- String url = endpoint.split("//")[0] + "//" + bucketName + "." + endpoint.split("//")[1] + "/" + fileName;
- // 关闭ossClient
- ossClient.shutdown();
- return url;// 把上传到oss的路径返回
- }
- }
复制代码 AliOSSProperties
- package com.itheima.utils;
- import lombok.Data;
- import org.springframework.boot.context.properties.ConfigurationProperties;
- import org.springframework.stereotype.Component;
- @Data
- @Component
- @ConfigurationProperties(prefix = "aliyun.oss")
- //我个人感觉直接用value方便一点,但是用这种封装成对象再拿出来,起到解耦作用。
- public class AliOSSProperties {
- private String endpoint;
- private String accessKeyId;
- private String accessKeySecret;
- private String bucketName;
- }
复制代码 把这两个代码直接全复制粘贴,不消做修改
测试
然后我们来测试一下
在Controller层新建一个UploadController
- import com.itheima.pojo.Result;
- import com.itheima.utils.AliOSSUtils;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.multipart.MultipartFile;
- import java.io.IOException;
- @Slf4j
- @RestController
- public class UpLoadController {
- @Autowired
- private AliOSSUtils aliOSSUtils;
- //上蹿到阿里云的OSS
- @PostMapping("/upload")
- public Result upload(MultipartFile image) throws IOException {
- log.info("文件上传{}",image.getOriginalFilename());
- String url = aliOSSUtils.upload(image);
- log.info("文件访问的url={}",url);
- return Result.success(url);
- }
- }
复制代码 这段代码复制进去,也不消修改
之后启动整个程序,在postman编写一个接口看看,如下图
然后点击send,没问题,那么文件上传就没问题。 你点击谁人data的链接是可以直接访问的,此时在你的bucket也是可以直接访问的。
前后端联调
接下来就要拿到前端的ngnix服务器的资源。
链接: https://pan.baidu.com/s/1aWxzNOsUR6MJm4NGJ7mUrQ?pwd=6666 提取码: 6666
或者如果你有git,那么直接运行git clone https://gitee.com/yangLLHGS/qd-project.git也可以直接下载。
去把这个下载下来,放在没有中文的路径当中,然后点击ngnix.exe之后,
启动整个后端程序,
然后在欣赏器输入localhost:90回车,选择部门管理和员工管理,能精确加载数据就好了
我们来测试下阿里云OSS行不行,如图,如果你上次图片之后能在头像那边看到说明这是没问题的。
至此今天的内容竣事,圆满完成!
后面我会出全局异常处置处罚和登录校验JWT,大家敬请等候!!
点个关注,收藏,更新路上不迷路!!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |