JEESZ分布式架构集成阿里云OSS存储

摘要: 1. 服务接口定义 /**  * 文件上传  1:头像 2:显示图片 3:个人封面  :4:基础图片   * @param request  * @param response  * @param uid 用户id  * @param userType 文件上传  1:头像 2:显示图片 3:个人封面  :4:基础图片 0:视频  * @param files 上传的文件对象  * @return

 1. 服务接口定义

/**

 * 文件上传  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);

}

2. 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();

    }
3. 界面效果

欢迎大家一起学习研究相关技术

愿意了解框架技术或者源码的朋友直接求求交流分享技术:2042849237

时间: 2024-10-31 21:22:10

JEESZ分布式架构集成阿里云OSS存储的相关文章

java 阿里云oss存储问题

问题描述 java 阿里云oss存储问题 最近项目需要把图片视频上传阿里云的oss,代码写完后测试,本地部署上传图片到oss完全没问题,但是部署到服务器上传图片页面就报504错误,oss我设置的timeout是50S,一张图片也就几十KB,不可能超时啊,所以我怀疑是其他什么原因,但是我想了一天,还是没个结果,所以在此求救大神帮助....在线等 解决方案 有大神愿意的话加QQ好友交流 解决方案二: 504是服务端错误 你的服务端代码出错了 解决方案三: 服务器错误 服务器环境和本地环境有区别 你再

利用nc 直观理解阿里云OSS 存储服务

1.本文要说什么 利用nc 直接与阿里云OSS服务器建立TCP 连接,通过输入HTTP 请求头部及数据与OSS进行交互,以此理解阿里云OSS服务的本质及使用阿里云OSS过程中的一些trouble shooting. 2.相关准备工作 一台连上互联网的Linux主机(如果没有可以购买一台阿里云ECS),注册并开通阿里云OSS服务(oss.aliyun.com)并创建一个bucket,本文以青岛的bucket:bucket-example(bucket-example.oss-cn-qingdao.

WordPress和阿里云对象存储OSS配置教程

传统情况下,网站源码以及数据库.图片等资源都是存储在一个服务器上的.这样的配置会存在这样的尴尬问题:当网站数据越来越多的时候,就面临着存储空间不够用.升级服务器配置.访问出现卡顿等情况.而解决此问题的最好方法就是将网站.数据库以及图片等资源分开管理,存储在不同的服务器上,这样使用时只需要在主服务器上调用即可.浪子虎博客使用的就是阿里云的OSS存储服务.下面,就随着浪子虎的脚步踏入WordPress博客使用阿里云OSS存储资源的步伐吧. 1. 安装WordPress 当然,如果你连WordPres

开源备份工具duplicity支持阿里云OSS后端存储

duplicity简介 duplicity是一款开源的备份工具,使用librsync高效地支持增量备份,节约本地存储空间,同时使用GnuPG加密数据.duplicity能将数据轻松的备份到本地或远端文件共享存储,同时支持各类云存储. 不过官方版本并没有支持阿里云作为后端存储,最近用oss最新的Python SDK oss2支持了duplicity上传阿里云OSS,先实现了一个简单的版本,在本文附件中可以下载到集成了aliyunbackend的duplicity安装包. 适用场景 重要文档数据的打

Synology®新增支持阿里云OSS对象存储

群晖科技Synology与阿里云合作在群晖Cloud Sync套件新增支持阿里云OSS对象存储,让用户可以将NAS数据备份至阿里云OSS上,或是将阿里云OSS的数据存储到本地NAS,快速打造异地备份解决方案. 数据意外事故频传,无论是勒索病毒.天灾.硬件损坏或是人为误操作,都可能造成数据丢失或服务中断.根据国外机构IT Policy Compliance Group报告指出,全球每年有近百万的企业因为数据丢失而破产,平均每丢失一个客户记录就会造成100美元的损失.看准企业对数据保护的需求,群晖宣

使用java开发阿里云OSS开放云存储服务

购买了阿里云后,我们发现一般ECS的存储空间都比较小,当然我们可以动态的扩展一些存储空间.但是作为开发者,我们在日常使用中需要一些更大的灵活性,因此就需要我们自己对OSS存储有一些自己的扩展.今天就为大家分享一下如何使用java来对接阿里云的OSS存储服务. OSS产品概述 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量.安全.低成本.高可靠的云存储服务.您可以通过调用 API,在任何应用.任何时间.任何地点上传和下载数据,也可以通过 Web

阿里云OSS归档存储类型单价下调 45%

7月21日起,阿里云对象存储OSS归档存储类型(OSS Archive)存储单价下调45%,最短存储周期调整到60天,归档解冻(Restore)时间降低到1分钟以内,调整方案如下: 调整项 调整前 调整后 按量付费单价 0.06元/GB/月 0.033元/GB/月 最小存储周期 30天 60天 归档解冻时间 1~4小时 1分钟内 OSS有三种存储类型:标准存储类型 Standard.低频访问存储类型IA.归档存储类型Archive.OSS 归档存储类型(OSS Archive)适用于各类需要长期

阿里云对象存储服务OSS 学习笔记

阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量.安全.低成本.高可靠的云存储服务 OSS服务先使用后付费 可以使用阿里云提供的API/SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS.阿里云OSS服务的三种类型:1.标准类型(Standard):移动应用.大型网站.图片分享或热点音视频的主要存储方式2.低频访问类型(Infrequent Access):成本更低.存储期限更长3.归档类型(Archive):不经常访问数据的备

阿里云表格存储技术分享

  下面是之前在一个技术群里面分享的阿里云表格存储的内容,因为时间因素,只对[技术分享附件]中的少部分内容进行了分享,下面是分享内容,欢迎下载附件并就里面的内容深入交流.   接下来的内容分为几个方面,第一是背景,就是为什么要做这个东西:第二是几个使用场景,让大家有个感性的认识:第三是系统架构以及该架构如何做到高性能.高可靠.高可用:第四是一些工程经验:我也比较希望大家看看最后的附录中我对垂直和分层两大设计体系的思考,这部分我们可以做更深入的交流.     好,下面正式开始.先介绍为什么要做,大