From c8691828fdcb0580695e31003545160312c32117 Mon Sep 17 00:00:00 2001 From: gxwebsoft Date: Mon, 18 Mar 2024 20:32:44 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E8=AE=B0=E5=BD=95=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BD=93=E7=A7=AF=202=E3=80=81=E5=88=A0=E9=99=A4=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=90=8C=E6=AD=A5=E5=88=A0=E9=99=A4=E4=BA=91=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E4=B8=8A=E7=9A=84=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/AliOssController.java | 4 ++-- .../system/controller/FileController.java | 17 +++++++++++++++++ .../common/system/entity/FileRecord.java | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java b/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java index e9b2e2f..9507507 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java @@ -33,6 +33,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.File; +import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; import java.util.Date; @@ -56,7 +57,6 @@ public class AliOssController extends BaseController { @Resource private FileRecordService fileRecordService; - @OperationLog @ApiOperation("上传文件") @PostMapping("/upload") public ApiResult upload(@RequestParam MultipartFile file, HttpServletRequest request) throws Exception{ @@ -104,7 +104,6 @@ public class AliOssController extends BaseController { requestURL = domain; } path = "/".concat(path); - upload.delete(); final String cache = redisUtil.get("setting:upload:" + getTenantId()); final JSONObject jsonObject = JSONObject.parseObject(cache); final String bucketDomain = jsonObject.getString("bucketDomain"); @@ -122,6 +121,7 @@ public class AliOssController extends BaseController { String contentType = FileServerUtil.getContentType(upload); result.setContentType(contentType); fileRecordService.save(result); + upload.delete(); return success(result); } catch (OSSException oe) { diff --git a/src/main/java/com/gxwebsoft/common/system/controller/FileController.java b/src/main/java/com/gxwebsoft/common/system/controller/FileController.java index 8ecd50e..13f58cc 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/FileController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/FileController.java @@ -2,6 +2,10 @@ package com.gxwebsoft.common.system.controller; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; +import com.aliyun.oss.OSS; +import com.aliyun.oss.OSSClientBuilder; +import com.aliyun.oss.common.auth.CredentialsProvider; +import com.aliyun.oss.common.auth.DefaultCredentialProvider; import com.gxwebsoft.common.core.annotation.OperationLog; import com.gxwebsoft.common.core.config.ConfigProperties; import com.gxwebsoft.common.core.utils.FileServerUtil; @@ -209,6 +213,19 @@ public class FileController extends BaseController { new File(getUploadSmDir(), record.getPath()) )); } + // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。 + String endpoint = config.getEndpoint(); + String accessKeyId = config.getAccessKeyId(); + String accessKeySecret = config.getAccessKeySecret(); + String bucketName = config.getBucketName(); + String bucketDomain = config.getBucketDomain(); + // 使用代码嵌入的RAM用户的访问密钥配置访问凭证。 + CredentialsProvider credentialsProvider = new DefaultCredentialProvider(accessKeyId, accessKeySecret); + + // 创建OSSClient实例。 + OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider); + // 删除云存储上的图片 + ossClient.deleteObject(bucketName,StrUtil.replace(record.getPath(), bucketDomain.concat("/"), "")); return success("删除成功"); } return fail("删除失败"); diff --git a/src/main/java/com/gxwebsoft/common/system/entity/FileRecord.java b/src/main/java/com/gxwebsoft/common/system/entity/FileRecord.java index 9833359..d3814cb 100644 --- a/src/main/java/com/gxwebsoft/common/system/entity/FileRecord.java +++ b/src/main/java/com/gxwebsoft/common/system/entity/FileRecord.java @@ -1,5 +1,6 @@ package com.gxwebsoft.common.system.entity; +import cn.hutool.core.util.DesensitizedUtil; import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -87,5 +88,4 @@ public class FileRecord implements Serializable { @ApiModelProperty("用户头像") @TableField(exist = false) private String avatar; - }