美好部落 发表于 2017-10-13 07:38:27

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:基础图片*@paramrequest*@paramresponse*@paramuid 用户id*@paramuserType 文件上传1:头像 2:显示图片 3:个人封面:4:基础图片 0:视频*@paramfiles 上传的文件对象* @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));// 关闭clientossClient.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);// 关闭clientossClient.shutdown();}/*** 删除文件* @param fileKey*/public void deleteFile(String fileKey){// 创建OSSClient实例OSSClient ossClient = new OSSClient(CloudConstant.ENDPOINT, CloudConstant.ACCESSKEYID, CloudConstant.ACCESSKEYSECRET);// 删除文件ossClient.deleteObject(CloudConstant.BUCKET, fileKey);// 关闭clientossClient.shutdown();}3. 界面效果http://upload-images.jianshu.io/upload_images/5712789-5a39e67d350bc9a9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240


欢迎大家一起学习研究相关技术愿意了解框架技术或者源码的朋友直接求求交流分享技术:2042849237分布式的一些解决方案,有愿意了解的朋友可以找我们团队探讨更多详细源码参考来源:http://minglisoft.cn/technology
页: [1]
查看完整版本: JEESZ分布式架构集成阿里云OSS存储