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

發佈了56 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章