OSS 相关配置

spring:cloud:alicloud:access-key: XXXXXXXsecret-key: XXXXXXXoss:endpoint: XXXXXXXbucket: pingmoweb

OssController

package com.hdb.pingmoweb.thirdparty.controller;import com.aliyun.oss.OSS;
import com.aliyun.oss.common.utils.BinaryUtil;
import com.aliyun.oss.model.MatchMode;
import com.aliyun.oss.model.PolicyConditions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;@RestController
public class OssController {@Autowiredprivate OSS ossClient;@Value("${spring.cloud.alicloud.access-key}")private String accessKey;@Value("${spring.cloud.alicloud.oss.endpoint}")private String endpoint;@Value("${spring.cloud.alicloud.oss.bucket}")private String bucket;@RequestMapping("/oss/policy")public Map<String, String> policy() {String accessId = accessKey;String host = "https://" + bucket + "." + endpoint;String format = new SimpleDateFormat("yyyy-MM-dd").format(new Date());String dir = format + "/";// 创建ossClient实例。//OSS ossClient = new OSSClientBuilder().build(endpoint, accessId, accessKey);try {long expireTime = 30;long expireEndTime = System.currentTimeMillis() + expireTime * 1000;Date expiration = new Date(expireEndTime);PolicyConditions policyConds = new PolicyConditions();policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 1048576000);policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, dir);String postPolicy = ossClient.generatePostPolicy(expiration, policyConds);byte[] binaryData = postPolicy.getBytes("utf-8");String encodedPolicy = BinaryUtil.toBase64String(binaryData);String postSignature = ossClient.calculatePostSignature(postPolicy);Map<String, String> respMap = new LinkedHashMap<String, String>();respMap.put("accessId", accessId);respMap.put("policy", encodedPolicy);respMap.put("signature", postSignature);respMap.put("dir", dir);respMap.put("host", host);respMap.put("expire", String.valueOf(expireEndTime / 1000));// respMap.put("expire", formatISO8601Date(expiration));return respMap;} catch (Exception e) {// Assert.fail(e.getMessage());System.out.println(e.getMessage());}return null;}
}

oss 服务端签名直传核心代码相关推荐

  1. oss服务端签名后直传分析与代码实现

    文章目录 1.简介 1.1 普通上传方式 1.2 服务端签名后直传 3.服务端签名后直传文档 3.1 用户向应用服务器请求上传Policy和回调. 3.2 应用服务器返回上传Policy和签名给用户. ...

  2. 阿里云OSS服务端签名前端JS直传(php)示例

    阿里云OSS服务端签名后前端JS直传(php)示例 需求:服务端上传图片太慢,需要使用前端直传的方式.但前端把阿里云的 AccessKey ID 和 AccessKey Secret 放在前端文件中会 ...

  3. 阿里云OSS 服务端签名后直传之分片上传(结合element-ui的upload组件)

    分片上传(结合element-ui的upload组件实现自定义上传) async uploadFree(content){let data = await this.getOssToken(); // ...

  4. 微信小程序:阿里云OSS直传实践-PHP实现服务端签名

    目录 1.阿里云OSS上传方式 1.1.Web端Browser.js SDK直传(不推荐) 1.2.Web端上传服务端再上传至OSS 1.3.服务端签名后Web端直传(推荐) 2.PHP服务端生成签名 ...

  5. 【OSS】服务端签名后直传实现阿里云存储上传文件

    文章目录 1.前言 2.阿里云OSS 2.1.开通服务 2.2.创建Bucket 2.3.创建子账户 3.服务端 3.1.依赖导入 3.2.配置文件 3.3.控制器编写 3.4.接口测试 4.前端联调 ...

  6. 商城项目09_品牌管理菜单、快速显示开关、阿里云进行文件上传、结合Alibaba管理OSS、服务端签名后直传

    文章目录 ①. 品牌管理菜单 ②. 快速显示开关 ③. 阿里云上传概述 ④. 使用代码进行文件上传 ⑤. 结合Alibaba来管理oss ⑥. gulimall-third-party微服务 ⑦. 服 ...

  7. 阿里云oss文件上传(简单上传、服务端签名后直传)

    前置: 自行开通阿里oss服务: https://www.aliyun.com/product/oss?spm=a2c4g.11174283.J_8058803260.125.d9387da2TjNf ...

  8. 分布式电商项目二十六:使用阿里云存储的服务端签名后直传(前端联调)

    使用阿里云存储的服务端签名后直传(前端联调) 在前端显示上传的界面,可以根据人人fast-vue的结构,在src\components目录下添加upload文件夹,直接添加vue组件即可,总计三个组件 ...

  9. react服务端/客户端,同构代码心得

    FKP-REST是一套全栈javascript框架 react服务端/客户端,同构代码心得 作者:webkixi react服务端/客户端,同构代码心得 服务端,客户端同构一套代码,大前端的梦想,为了 ...

最新文章

  1. 2019牛客暑期多校训练营(第五场)G-subsequence 1
  2. HtmlAgilityPack 抓取页面的乱码处理
  3. kubectl bash补全
  4. 不一样的图片加载方式
  5. 如何在 SAP Spartacus 里添加自定义页面 - Custom Page
  6. easy ui dialog 关闭之后的怪异问题
  7. 23种设计模式(9):访问者模式(转)
  8. 快速排序时间复杂度分析推导
  9. 顺通鞋业鞋厂仓库库存管理系统软件
  10. php超小免杀大马_PHP免杀大马的奇淫技巧
  11. 数据仓库是如何分层的?
  12. 美团/饿了么外卖红包小程序源码
  13. 转专业申请麦吉尔大学计算机,我在麦吉尔大学学习数学专业……
  14. Spring学习(二)IOC
  15. 给学妹学弟们的看书小建议!
  16. 利用javascript实现表格数据自动从剪贴板录入
  17. 天宝营养冲刺深交所IPO:业绩明显波动,深创投是股东
  18. OMAP850 运行android
  19. 【ros】初学ROS的学习笔记——创建Publisher
  20. 网易2018校园招聘编程题真题集合1魔法币

热门文章

  1. 华北科技c语言综合实验报告,C语言综合性实验报告1.doc
  2. 解决电脑自动安装软件
  3. 数字孪生的概念是什么【深度】
  4. 4GBytes 内存
  5. 【金猿产品展】辟火云:智慧消防物联网平台
  6. layui 表格行单击事件选中行前的单选框
  7. 一品资源网自用官网模板源码下载站(带手机模板)
  8. 云栖大会——阿里聚安全亮出创新技术 颠覆APP传统安全加固
  9. 苹果笔记本装win7后经常死机怎么办?
  10. 使用 Engage 或 Workspace 创建 Monte Carlo 模拟的 4 个简单步骤