Day11-06.案例-文件上传-阿里云OSS-集成

Day11-06.案例-文件上传-阿里云OSS-集成

1.新增员工进行图像上传的基本实现思路:

1.在新增员工的时候,我们需要上传员工的图像,而之所以需要上传员工的图像,是因为将来我们需要在系统页面当中来访问并展示这个员工的图像。要想完成这个操作,我们需要做两件事:

第一件事:需要上传这个员工的图像,并把这个图像保存起来。

第二件事:访问这个图像。

2.当我们在新增员工的时候,需要在表单中录入员工的基本信息,此时就需要上传员工的图像,当我们点击这个图片之后,就会让我们来选择我们要上传的图片,

当我们选择了某一张图片之后,此时就会进行文件上传操作,就会请求UploadController当中的文件上传接口,在文件上传接口当中:第一件事需要接收上传的图片,在服务器端在方法形参当中声明一个multipartFile类型的参数。接收到上传的文件之后,第二步需要将这个文件存储起来,现在我们需要交给阿里云OSS存储和管理,此时我们需要调用OSS的API来完成文件上传操作,最终将这个文件交给阿里云OSS来存储。

3.而在阿里云OSS对象存储服务当中,每一个文件都是要归属于某一个存储空间bucket的,所以在上传的时候,还需要指定我们要存储到哪一个存储空间bucket当中。而OSS当中的每个文件,他都会分配一个访问的URL,最终我们还需要在程序当中获取到这个图片访问的URL,最终再将这个URL返回给前端,这样前端就拿到了这个图片访问的URL,此时前端就会自动的给阿里云OSS对象存储服务来发送请求,最终获取到这张图片,在页面将这张图片展示出来。这样用户就可以看到,自己上传的图片马上就可以在界面展示出来。

4.点击保存之后,表单中的所有数据,包括图像的URL都会提交到服务端,会来请求新增员工的这个接口,此时Emp这个对象当中所封装的数据,既包括员工的基本信息,又包括员工的图像,最终将这个员工的信息保存到员工表当中,此时我们所添加的这个员工与这张图片就关联起来了。

UploadController:

1.接收上传的图片

2.将图片存储起来

3.返回图片访问的URL

阿里云集成-OSS

1.引入阿里云OSS上传文件工具类(由官方的示例代码改造而来)

2.上传图片接口开发

    @Slf4j
    @RestController
    public class UploadController {
    @Autowired
    private AliOSSUtils aliOSSUtils;

    @PostMapping("/upload")
    public Result upload(MultipartFile image) throws IOException {
        log.info("文件上传:文件名{}", image.getOriginalFilename());
        //调用阿里云OSS工具类进行文件上传
        String url = aliOSSUtils.upload(image);
        log.info("文件上传完成,文件访问的url为:{}", url);
        return Result.success(url);
    }
}

2.小结:

1.文件上传介绍

2.前端页面三要素(file表单、post方式、multipart/form-data)

3.服务端接收文件(MultipartFile)

4.文件存储方式

​ 1.本地存储(无法直接访问、磁盘空间限制、磁盘损坏)

​ 2.云存储OSS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值