J2EE分布式架构集成阿里云OSS存储
- 服务接口定义
/**
- 文件上传 1:头像 2:显示图片 3:个人封面 :4:基础图片
- @param request
- @param response
- @param uid 用户id
- @param userType 文件上传 1:头像 2:显示图片 3:个人封面 :4:基础图片 0:视频
- @param files 上传的文件对象
- @return
- @throws Exception
*/
@RequestMapping(value = "/upload/base64Code", method = RequestMethod.POST)
public ResponseVO fileuploadBase64(@RequestBody JSONObject json, HttpServletRequest request, HttpServletResponse response) throws Exception {
String uid = json.optString("uid");
String userType = json.optString("userType");
String base64Code = json.optString("base64Code");
String oldName = json.optString("oldName");
String suffix = json.optString("suffix");
//获取当前登陆用户
if(StringUtils.isEmpty(uid)){
return CloudResponseCode.buildEnumResponseVO(CloudResponseCode.USER_ID_NOT_NULL, null);
}
//上传文件新名字
String newName = String.valueOf(new Date().getTime());
String fileKey = CloudConstant.VITAL_USER_INFO_PATH + uid + "/" + newName + "." + suffix;
AliyunUtils.getInstance().uploadByte(base64Code.getBytes(), fileKey);
......
.......
return CloudResponseCode.buildEnumResponseVO(CloudResponseCode.FILEUPLOAD_SUCCESS, obj);
}
- oss utils封装
/**
- 上传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();
}
- 界面效果
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一拳超人—写给码农看的数据库优化方法:everything is a file
Everything is a file是UNIX世界中的名言,指的是将系统中各种资源都认为是文件,通过字符串读写方式实现统一接口调用。 起这个标题仅为蹭一下名言热度,我们真正要聊的是数据库世界中的“everything is (in) a file”——此处翻译为:“啥都在一个文件里”。 说到文件,想必有少侠要冷笑一声:老生常谈——要说存储系统IO之类的问题了吧?是不是还要介绍一下RAID? 少侠放心,这里不说存储系统IO问题,否则如何对得起如此清新脱俗的标题。只是顺便强调一下:无数书籍中提到关于数据库存储的性能,各种RAID、各种IO计算…这些是有道理的,也是无数雏儿踩雷后的战场总结(也有可能是遗言)。所以假如贵派藏经阁中硬盘灯总在卡拉拉不住闪,技术人员思维还停留在“好硬盘就是容量大的硬盘”以及“啥叫磁盘队列”上面,恩…呵呵。 当然,在一个萌妹子买电脑都知道要SSD硬盘的年代,如果还被存储性能给害死,实在太说不过去了。那么假设现在SSD村村通,我们是不是可以洗洗睡了?——真是抱歉,那样美好的事情是不存在的。 我们先讲一个码农最喜闻乐见的堆码故事: 单位中有一台存储设备用作日志记录。...
- 下一篇
J2EE--SSO解决方案
提醒:文档只是作为一个基础的参考,愿意了解的朋友可以随时咨询。 第一节:单点登录简介 第一步:了解单点登录 SSO主要特点是: SSO应用之间使用Web协议(如HTTPS),并且只有一个登录入口. SSO的体系中有下面三种角色: 1) User(多个) 2) Web应用(多个) 3) SSO认证中心(一个) SSO实现包含以下三个原则: 1)所有的登录都在SSO认证中心进行。 2) SSO认证中心通过一些方法来告诉Web应用当前访问用户究竟是不是通过认证的用户. 3) SSO认证中心和所有的Web应用建立一种信任关系. CAS的基本原理CAS(Central Authentication Service)是Yale耶鲁大学发起的构建Web SSO的Java开源项目。 1.CAS术语解释: SSO-Single Sign On单点登录 TGT-Ticket Granting Ticket用户身份认证凭证票据 ST-Service Ticket服务许可凭证票据 TGC-Ticket Granting Cookie存放用户身份认证凭证票据的cookie. 第二步:了解单点登录体系结构 1)C...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装