|
@@ -3,17 +3,24 @@ package org.dromara.system.controller.system;
|
|
|
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.qiniu.util.Auth;
|
|
|
import org.dromara.common.core.domain.R;
|
|
|
import org.dromara.common.core.validate.QueryGroup;
|
|
|
+import org.dromara.common.oss.core.OssClient;
|
|
|
+import org.dromara.common.oss.entity.UploadResult;
|
|
|
+import org.dromara.common.oss.factory.OssFactory;
|
|
|
import org.dromara.common.web.core.BaseController;
|
|
|
import org.dromara.common.log.annotation.Log;
|
|
|
import org.dromara.common.log.enums.BusinessType;
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
import org.dromara.system.domain.bo.SysOssBo;
|
|
|
+import org.dromara.system.domain.bo.SysOssConfigBo;
|
|
|
+import org.dromara.system.domain.vo.SysOssConfigVo;
|
|
|
import org.dromara.system.domain.vo.SysOssFilesVo;
|
|
|
import org.dromara.system.domain.vo.SysOssUploadVo;
|
|
|
import org.dromara.system.domain.vo.SysOssVo;
|
|
|
+import org.dromara.system.service.ISysOssConfigService;
|
|
|
import org.dromara.system.service.ISysOssService;
|
|
|
import jakarta.servlet.http.HttpServletResponse;
|
|
|
import jakarta.validation.constraints.NotEmpty;
|
|
@@ -40,6 +47,8 @@ public class SysOssController extends BaseController {
|
|
|
|
|
|
private final ISysOssService ossService;
|
|
|
|
|
|
+ private final ISysOssConfigService ossConfigService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询OSS对象存储列表
|
|
|
*/
|
|
@@ -86,6 +95,20 @@ public class SysOssController extends BaseController {
|
|
|
return R.ok(uploadVo);
|
|
|
}
|
|
|
|
|
|
+ @Log(title = "OSS对象存储", businessType = BusinessType.INSERT)
|
|
|
+ @PostMapping("/add")
|
|
|
+ public R<SysOssUploadVo> addfile(@RequestBody SysOssBo bo) {
|
|
|
+ UploadResult p = UploadResult.builder().build();
|
|
|
+ p.setFilename(bo.getFileName());
|
|
|
+ p.setUrl(bo.getUrl());
|
|
|
+ SysOssUploadVo uploadVo = new SysOssUploadVo();
|
|
|
+ SysOssVo oss = ossService.buildResultEntity(bo.getOriginalName(), bo.getFileSuffix(), bo.getSize(), "qiniu", p);
|
|
|
+ uploadVo.setUrl(oss.getUrl());
|
|
|
+ uploadVo.setFileName(oss.getOriginalName());
|
|
|
+ uploadVo.setOssId(oss.getOssId().toString());
|
|
|
+ return R.ok(uploadVo);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 下载OSS对象
|
|
|
*
|
|
@@ -115,4 +138,23 @@ public class SysOssController extends BaseController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @GetMapping("/qiniu/token")
|
|
|
+ public R<Object> gettoken(String url) {
|
|
|
+ OssClient storage = OssFactory.instance("qiniu");
|
|
|
+ SysOssConfigBo bo =new SysOssConfigBo();
|
|
|
+ bo.setConfigKey("qiniu");
|
|
|
+ TableDataInfo<SysOssConfigVo> pageList = ossConfigService.queryPageList(bo,new PageQuery());
|
|
|
+
|
|
|
+ String upToken = "";
|
|
|
+ if(pageList.getRows().size()>0){
|
|
|
+ Auth auth = Auth.create(pageList.getRows().get(0).getAccessKey(), pageList.getRows().get(0).getSecretKey());
|
|
|
+ upToken = auth.uploadToken(pageList.getRows().get(0).getBucketName());
|
|
|
+
|
|
|
+ }
|
|
|
+ return R.ok((Object) upToken);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|