阿里云OSS文件上传,后台签名方案

本文介绍了阿里云OSS文件上传过程中后台签名的实现,包括回调处理、回调地址设置、鉴权问题及二级域名映射解决预览问题。回调接口用于自定义业务处理,通过Base64编码传递自定义参数。前端需调用后台获取签名接口,然后上传文件,并根据上传结果判断成功与否。确保回调地址放开鉴权,并正确配置DNS解析以实现预览功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 时序图如上

上传回调过程是在后台封装好代码,将callback作为参数在获取签名的时候返回给前端,前端再去直接调用host进行文件直传,此时阿里云会根据是否有回调地址进行调用此接口地址;针对此回调地址可以进行具体业务处理;

大家可以先去看官方文档,基本数据在文档中都有;

概述 - 对象存储 OSS - 阿里云

踩坑指南:

  1. 回调地址未生效
  2. 上传图片无法预览只能下载
  3. 回调后处理时无法获取参数
  4. 如何处理可用或者是防盗链接地址

回调地址需要放开鉴权,具体看你服务端采用哪种鉴权方式;

接下来从后台提供两个接口,一个获取签名接口需要用户登录后使用,一个回调接口;

    /**
     * 获取签名接口
     * @return
     */
    public OssPolicyResultVo getPolicy() {
        OssPolicyResultVo result = new OssPolicyResultVo();
        // 存储目录
        String dir = ossConfigVo.getImageFilePathPrefix();
        // 签名有效期
        long expireEndTime = System.currentTimeMillis() + ossConfigVo.getFileExpireTime() * 1000;
        Date expiration = new Date(expireEndTime);
        // 回调参数
        OssCallbackParam callback = new OssCallbackParam();
        callback.setCallbackUrl(ossConfigVo.getAliyunOSSCallBack());
        callback.setCallbackBody("filename=${object}&size=${size}&mimeType=${mimeType}&height=${imageInfo.height}&width=${imageInfo.width}");
        callback.setCallbackBodyType("application/x-www-fo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值