OssController.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.zhongzheng.controller.alioss;
  2. import com.zhongzheng.common.core.controller.BaseController;
  3. import com.zhongzheng.common.core.domain.AjaxResult;
  4. import com.zhongzheng.modules.alioss.bo.OssRequest;
  5. import com.zhongzheng.modules.alioss.service.OssService;
  6. import com.zhongzheng.modules.alioss.vo.ResultBean;
  7. import io.swagger.annotations.Api;
  8. import io.swagger.annotations.ApiOperation;
  9. import lombok.RequiredArgsConstructor;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.validation.annotation.Validated;
  14. import org.springframework.web.bind.annotation.*;
  15. import org.springframework.web.multipart.MultipartFile;
  16. import javax.servlet.http.HttpServletRequest;
  17. import java.io.FileNotFoundException;
  18. import java.io.FileOutputStream;
  19. import java.io.InputStream;
  20. import java.util.Map;
  21. /**
  22. * 阿里OSS
  23. *
  24. * @author change
  25. * @date 2021-05-17
  26. */
  27. @Api(value = "阿里OSS上传文件控制器", tags = {"阿里OSS上传文件"})
  28. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  29. @RestController
  30. @RequestMapping("/aliyun/oss")
  31. public class OssController extends BaseController {
  32. private static Logger log = LoggerFactory.getLogger(OssController.class);
  33. private final OssService ossService;
  34. /**
  35. * policy获得
  36. */
  37. @ApiOperation("policy获得")
  38. @GetMapping("/policy")
  39. public AjaxResult<ResultBean> policy(@Validated OssRequest ossRequest) {
  40. ResultBean result = ossService.getPolicy(ossRequest);
  41. log.info("服务端生成签名:{}",result);
  42. return AjaxResult.success(result);
  43. }
  44. /**
  45. * 阿里回调OSS返回参数到前端
  46. */
  47. @ApiOperation("回调")
  48. @PostMapping("/callback")
  49. public ResultBean callback(HttpServletRequest request) {
  50. ResultBean ossCallbackResult = ossService.callback(request);
  51. log.info("oss成功的回调:{}",ossCallbackResult);
  52. return ossCallbackResult;
  53. }
  54. /**
  55. * upload上传文件
  56. */
  57. @ApiOperation("上传file图片")
  58. @PostMapping("/upload")
  59. public AjaxResult<String> upload( OssRequest file) throws Exception {
  60. String result = ossService.upload(file);
  61. log.info("服务端生成签名:{}",result);
  62. return AjaxResult.success("返回图片路径",result);
  63. }
  64. @ApiOperation("上传file图片带路径")
  65. @PostMapping("/uploadPath")
  66. public AjaxResult<String> uploadPath(OssRequest file) throws Exception {
  67. String result = ossService.uploadWithPath(file,file.getPath());
  68. log.info("服务端生成签名:{}",result);
  69. return AjaxResult.success("返回图片路径",result);
  70. }
  71. }