J2EE分佈式架構集成阿里雲OSS存儲

  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);

}

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

}

  1. 界面效果

J2EE分佈式架構集成阿里雲OSS存儲

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章