码迷,mamicode.com
首页 > 其他好文 > 详细

jeesz分布式架构集成阿里云oss存储

时间:2017-04-20 17:05:30      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:接口   学习   idm   die   files   .com   图片   file   inpu   

  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. 界面效果

技术分享

技术分享

技术分享
源码来源:minglisoft.cn/technology

欢迎大家一起学习研究相关技术,源码获取请加求求(企鹅): 2042849237

jeesz分布式架构集成阿里云oss存储

标签:接口   学习   idm   die   files   .com   图片   file   inpu   

原文地址:http://www.cnblogs.com/itsuperman/p/6739440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!