之前给大家介绍了sso的相关知识点和集成方案,考虑到每个系统所属行业的不同,这边针对于不同行业做了一些统一的sso单点登录界面模板,使用fileupload多文件上传+OSS阿里云存储方案。
1. 阿里云oss存储Utils
public class AliyunUtils { private static AliyunUtils aliyun; private AliyunUtils() { } public static synchronized AliyunUtils getInstance(){ if(aliyun==null){ aliyun=new AliyunUtils(); } return aliyun; } /** * 上传byte数组 * @param fileByte * @param fileKey */ public void uploadByte(byte[] fileByte, String fileKey){ // 创建OSSClient实例 OSSClient ossClient = new OSSClient(CloudConstant.ENDPOINT, CloudConstant.ACCESSKEYID, CloudConstant.ACCESSKEYSECRET); // 上传byte数组 ossClient.putObject(CloudConstant.BUCKET, fileKey, new ByteArrayInputStream(fileByte)); // 关闭client ossClient.shutdown(); } /** * 上传文件流 * @param inputStream * @param fileKey */ public void uploadInputStream(InputStream inputStream, String fileKey){ // 创建OSSClient实例 OSSClient ossClient = new OSSClient(CloudConstant.ENDPOINT, CloudConstant.ACCESSKEYID, CloudConstant.ACCESSKEYSECRET); // 上传文件流 ossClient.putObject(CloudConstant.BUCKET, fileKey, inputStream); // 关闭client ossClient.shutdown(); } /** * 删除文件 * @param fileKey */ public void deleteFile(String fileKey){ // 创建OSSClient实例 OSSClient ossClient = new OSSClient(CloudConstant.ENDPOINT, CloudConstant.ACCESSKEYID, CloudConstant.ACCESSKEYSECRET); // 删除文件 ossClient.deleteObject(CloudConstant.BUCKET, fileKey); // 关闭client ossClient.shutdown(); } //base64字符串转化成图片 @SuppressWarnings("restriction") public static byte[] BASE64DecoderStringToByte(String imgStr) { //对字节数组字符串进行Base64解码并生成图片 if (imgStr == null) //图像数据为空 return null; sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder(); try { //Base64解码 byte[] b = decoder.decodeBuffer(imgStr); return b; } catch (Exception e){ return null; } } public static void main(String[] args) { //AliyunUtils.getInstance().uploadByte(BASE64DecoderStringToByte(base64), "aabb.jpg"); } }
2. 阿里云配置常量类(可以配置到数据库或者properties,后面会更新配置方式)
public class CloudConstant { /****************阿里云OSS上传文件配置****************/ public static final String ENDPOINT = "http://oss-cn-shanghai.aliyuncs.com"; //外网访问域名 //public static final String ENDPOINT = "http://oss-cn-shanghai-internal.aliyuncs.com"; //内网访问域名 public static final String ACCESSKEYID = "12345678qwertyu; //标识用户 public static final String ACCESSKEYSECRET = "1234567890WERTYUIO"; //加密签名字符 public static final String BUCKET = "huiyi-bucket"; //存储空间 /****************背景文件路径配置****************/ public static final String BACK_IMG_INFO_PATH = "sso/backageImg/"; }
3. sso templateController类
public String save(SsoTemplate ssoTemplate, Model model, RedirectAttributes redirectAttributes, @RequestParam(value = "file", required = false) MultipartFile file) { if (!beanValidator(model, ssoTemplate)) { return form(ssoTemplate, model); } String fileName = String.valueOf(new Date().getTime()); String staff = ""; String fileKey = ""; // 上传文件 if (file.getSize() != 0) { staff = FilenameUtils.getExtension(file.getOriginalFilename()); fileKey = CloudConstant.BACK_IMG_INFO_PATH + fileName + "." + staff; // 删除OSS文件 AliyunUtils.getInstance().deleteFile(fileKey); // 上传文件至阿里云OSS try { AliyunUtils.getInstance().uploadInputStream(file.getInputStream(), fileKey); ssoTemplate.setImg(fileKey); } catch (IOException e) { e.printStackTrace(); } } ssoTemplateService.save(ssoTemplate); addMessage(redirectAttributes, "保存模板成功"); return "redirect:" + Global.getAdminPath() + "/sso/ssoTemplate"; }
4. 界面显示效果
相关推荐
这个项目主要是以OSS图片上传(Web直传方式)实现素材管理主要功能以OSS图片上传及保存在服务器中、分组查询、类别查询、文件名称查询、文件地址查询、OSS图片删除及删除数据库的数据、分组增删改。
dubbo上传文件+oss上传文件服务
基于java语言实现文件的本地上传,oss普通上传,和大文件的分段上传,请手写的,可以使用,可以上传图片,视频压缩包等多种格式文件
springboot + +oss + thymeleaf 实现的小demo , oss文件上传,根据oss链接生成二维码.
实验室在线排课系统源码,SpringCloud + Nacos + MyBatis-Plus + MySQL + Redis + EasyExcel + 阿里云 OSS 项目环境: Spring Boot Spring Cloud Nacos Jwt Mybatis-Plus MySQL Redis EasyExcel 阿里云 OSS Swagger-...
BSS+OSS演进中国联通BSS+OSS演进
主要为大家详细介绍了Vue Element UI + OSS实现上传文件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
springboot整合oss实现文件的上传,查看,删除,下载!注释清晰,方便易懂!
基于Spring Boot+Layui的内容管理系统.zip 用户管理:基本的增删改查与授权角色; + 角色管理:基本的增删改查与授权用户和授权菜单; + 菜单管理:基本的增删改查,其中以树状展示; + 日志管理:即操作日志管理...
代码简单容懂。下载就可以运行。该列子包过了easypoi注解导出exel表格同时导出oss中的图片到exel表格中。
Java SSM项目是一种使用Java语言和SSM框架(Spring + Spring MVC + MyBatis)开发的Web应用程序。SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、...
java oss图片单个上传、多个上传、分片上传、进度条完整代码
Java实现网盘文件管理功能,调用阿里oss存储实现
主要介绍了java实现上传文件到oss(阿里云)功能,结合实例形式详细分析了java上传文件到阿里云的具体步骤、配置及相关实现技巧,需要的朋友可以参考下
自己制作的可按需求定时每分钟、每小时、每天多次批量上传本地文件到阿里云OSS存储,Java脚本后端服务自动执行,只需更改账号AccessKey和指定目录即可,递归扫描上传指定目录文件,整体流程有不懂环节可私信我
大商创V1.2版本增加了大数据版功能:由“Web服务器群”——“SLB负载均衡-Memcache缓存技术-数据库群-Oss云存储技术”的闭环式框架组成;从“入口层—服务层—数据层”三个层面,减少服务器负载,从而平台更加稳定。...
可以实现单个文件,多个文件并发上传到阿里云oss
使用grpc+gin+gorm+oss+jwt等中间件搭建的简易抖音版后端。
2、采用链式调用模式,只需要简单的配置当前运行采用哪个厂商,即可灵活的传输文件到对应云文件服务器中 3、支持OSS、COS、OBS、Minio等,如果是单机应用直接配置成本地即可 4、适用于对文件依赖比较大的应用
ffmpeg服务器转换视频切片上传oss服务,ffmpeg将mp4视频转m3u8、ts,上传oss实现项目视频分片加载,防用户下载