java使用阿里oss和短信功能

提供阿里oss和短信功能

推薦使用最新版本

安裝

<dependency>
    <groupId>cn.gjing</groupId>
    <artifactId>tools-ali</artifactId>
    <version>1.0.1</version>
</dependency>

使用方法


阿里OSS:

  • 文件簡單上傳(最大文件不能超過5G)上傳成功後返回圖片地址,失敗會返回錯誤信息,後續根據返回結果自行處理;

    @PostMapping("/upload")
    @ApiOperation(value = "上傳圖片", httpMethod = "POST")
    public ResponseEntity testUpload(@RequestParam(name = "file") MultipartFile file) {
       String fileOssUrl = AliOss.of("endPoint", "accessKeyId","accessKeySecret", "bucketName")
               .upload(file);
       return ResponseEntity.ok(fileOssUrl);
    }
  • 刪除文件: 刪除成功返回刪除的文件名列表,支持刪除多個文件,當前演示只刪除指定文件, fileOssUrl爲上傳oss成功後返回的路徑

    @DeleteMapping("/file")
    @ApiOperation(value = "刪除文件", httpMethod = "DELETE")
    public ResponseEntity deleteImg(@RequestParam("url") String url) {
       List<String> deleteObjectList = AliOss.of("endPoint", "accessKeyId","accessKeySecret", "bucketName")
               .delete(Collections.singletonList(url));
       return ResponseEntity.ok(deleteObjectList);
    }
  • 下載文件: fileOssUrl爲上傳oss成功後返回的url,localFilePath爲你要保存的本地目錄(不存在會創建),返回true爲成功;

    @PostMapping("/img-native")
    @ApiOperation(value = "下載文件到本地", httpMethod = "POST")
    public ResponseEntity downImgToNative(String fileOssUrl, String path) {
       boolean down = AliOss.of("endPoint", "accessKeyId","accessKeySecret", "bucketName")
           .downloadFile(fileOssUrl, path);
       if (down) {
           return ResponseEntity.ok("下載成功");
       }
       return ResponseEntity.badRequest().body("下載失敗");
    }
  • 流式下載文件:

    @GetMapping("/img-stream")
    @ApiOperation(value = "流式下載", httpMethod = "GET")
    public ResponseEntity streamDown(String fileOssUrl, HttpServletResponse response) {
       boolean down = AliOss.of("endPoint", "accessKeyId","accessKeySecret", "bucketName")
           .downloadStream(fileOssUrl, response);
       if (down) {
           return ResponseEntity.ok("下載成功");
       }
      return ResponseEntity.badRequest().body("下載失敗");
    }

    阿里短信:

  • 發送短信: 返回內容中Code爲ok表示發送成功 ,更多狀態碼請前往狀態碼

    @PostMapping("/send-ali")
    @ApiOperation(value = "阿里短信", httpMethod = "POST")
    public ResponseEntity sendAli() {
        //參數,必須與對應的短信模板參數對應,如果沒有參數,可以傳null或者空map
        Map<String, String> param = new HashMap<>(16);
        map.put("code", "123123");
        //接收的短信的手機號,支持多個,英文逗號隔開
        String send = AliSms.of("accessKeyId", "accessKeySecret")
                .send("157********", "短信模板Code", param, "短信簽名");
     return ResponseEntity.ok(send);
    }
  • 查詢短信, 日期必須爲yyyyMMdd格式(20181207),僅支持最近30天;返回內容中Code爲OK代表請求成功,每頁顯示的短信數量取值範圍爲1-50,指定發送記錄要查看的頁碼(最小爲1),
    更多狀態碼前往: 狀態碼

    @GetMapping("query-ali")
    @ApiOperation(value = "查詢阿里短信發送記錄", httpMethod = "GET")
    public ResponseEntity queryAli() {
        String result = AliSms.of("您的accessKeyId", "您的accessKey祕鑰")
                .querySendDetails("157********", "查詢日期(年月日)", "每頁數量", "當前頁數");
        return ResponseEntity.ok(result);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章