Oss文件上传

本文介绍了在SpringCloud微服务架构中,如何使用OSS服务进行文件上传并实现上传回调功能。通过服务端生成签名,用户上传文件后,OSS会回调应用服务器,确保服务端能实时获取上传文件信息。详细流程包括用户请求上传Policy、应用服务器返回签名、用户上传文件、OSS回调应用服务器等步骤。同时提供了生成签名的方法参考链接。
摘要由CSDN通过智能技术生成

pro-cloud是一个SpringCloud alibaba dubbo调用 微服务架构springboot+mybatisplus基于oauth2.0认证,采用Nacos注册和配置中心,集成流量卫兵Sentinel的分布式架构。解决常见的分布式问题, redis/zookeeper分布式锁,分布式事务,灰度发布,sso单点登录log4j2日志,多租户问题等https://gitee.com/gitsc/pro-cloud

OSS生成签名

采用服务端签名后直传方案有个问题:大多数情况下,用户上传数据后,应用服务器需要知道用户上传了哪些文件以及文件名;如果上传了图片,还需要知道图片的大小等。为此OSS提供了上传回调方案。OSS回调完成后,应用服务器再将结果返回给客户端,以便服务端实时了解用户上传了什么文件

上传流程

在这里插入图片描述
流程如下:

  1. 用户向应用服务器请求上传Policy和回调。
  2. 应用服务器返回上传Policy和回调设置。
  3. 用户直接向OSS发送文件上传请求。
  4. OSS根据用户的回调设置,发送回调请求给应用服务器。
  5. 应用服务器返回响应给OSS。
  6. OSS将应用服务器返回的内容返回给用户。

当用户要上传一个文件到OSS,而且希望将上传的结果返回给应用服务器,这时就需要设置一个回调函数,将请求告知应用服务器。用户上传完文件后,不会直接得到返回结果,而是先通知应用服务器,再把结果转达给用户。

/**
	 *  签名生成  用浏览器直接上传时给js传递授权
	 * @param callback
	 * @param type 必填。防止恶意修改路径
	 * @return
	 */
	@CrossOrigin
	@GetMapping("/policy")
	public Result policy(@RequestParam(required = false) String callback, String type) {
   

		FilePath filePath = FileOssUploadUtil.getFilePath(fileProps.getFilePaths(), type);
		if (filePath == null) {
   
			return Result.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值