对象存储地址修改为bendudu的&一个接口--将原本存在本地的文件图片上传到存储桶中
7个文件已修改
107 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/CosController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfEconomyController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application.yml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/domain/ZfEconomy.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/ZfEconomyService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/GetOrPut.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/CosController.java
@@ -30,7 +30,10 @@
        }
        System.out.println("dfsdgd");
        HashMap<String,String> map = new HashMap<>();
        map.put("key",key);
        int dotIndex = key.lastIndexOf('/');
        map.put("key", key.substring(dotIndex + 1));
        map.put("path",key);
        return AjaxResult.success(map);
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfEconomyController.java
@@ -1,6 +1,7 @@
package com.ruoyi.web.controller.zhang;
import com.qcloud.cos.utils.IOUtils;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -12,12 +13,20 @@
import com.ruoyi.domain.ZfEconomy;
import com.ruoyi.domain.excel.ZfEconomyExcelBean;
import com.ruoyi.service.ZfEconomyService;
import com.ruoyi.service.impl.GetOrPut;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -40,6 +49,34 @@
    @Autowired
    ZfEconomyService zfEconomyService;
    @Autowired
    GetOrPut getOrPut;
    @GetMapping("cc")
    public void ll() throws IOException {
        List<ZfEconomy> change = zfEconomyService.change();
        for (ZfEconomy ch:change) {
            if (ch.getUrl() != null) {
                String[] splits = ch.getUrl().split(",");
                StringBuilder list= new StringBuilder();
                for (int i=0;i<splits.length;i++) {
                    if (splits[i] != null && splits[i].length() !=0) {
//                        splits[i]=splits[i].replace("\\", "/");
                        String cs = getOrPut.uploadWebFile("https://www.bendudu.com:8080/" + splits[i]);
                        if(i>=1) {
                            list.append(",").append(cs);
                        }else {
                            list.append(cs);
                        }
                    }
                }
                ch.setCosKey(list.toString());
                zfEconomyService.updateById(ch);
            }
        }
    }
    @GetMapping("/all")
    public AjaxResult listAll(ZfEconomy zfEconomy){
        Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
ruoyi-admin/src/main/resources/application.yml
@@ -147,8 +147,14 @@
#腾讯云
tencent:
  cos:
    secret-id: AKIDOelfP1QbZJq9E5j9LI2YptwlNlvsbBf0       # 替换为实际SecretId
    secret-key: DCxVpvnRt89wVs2ygATYZWOMFzXtAHB3    # 替换为实际SecretKey
    bucket-name: examplebucket-22222-1346631008  # 存储桶名称
    secret-id: AKID3ykKitsgIkz2tY0EE3g6IWcWDi087tse       # 替换为实际SecretId
    secret-key: d4NckmibQApMvIRcbNwHOIyQdoxyvjLj    # 替换为实际SecretKey
    bucket-name: bendudu-bucket-1325664559  # 存储桶名称
    region: ap-guangzhou            # 存储桶地域
    base-url: https://examplebucket-22222-1346631008.cos.ap-guangzhou.myqcloud.com # 访问基础URL
    base-url: https://bendudu-bucket-1325664559.cos.ap-guangzhou.myqcloud.com # 访问基础URL
zhang-content/src/main/java/com/ruoyi/domain/ZfEconomy.java
@@ -114,4 +114,6 @@
     */
    private Integer shareId;
    private String cosKey;
}
zhang-content/src/main/java/com/ruoyi/service/ZfEconomyService.java
@@ -17,6 +17,7 @@
 * @since 2023-03-12
 */
public interface ZfEconomyService extends IService<ZfEconomy> {
     List<ZfEconomy> change();
    AjaxResult selectDataList(ZfEconomy zfEconomy, Integer pageNum, Integer pageSize);
zhang-content/src/main/java/com/ruoyi/service/impl/GetOrPut.java
@@ -19,6 +19,8 @@
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.UUID;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -70,6 +72,7 @@
            String fileExt = originalFilename.substring(originalFilename.lastIndexOf("."));
            String key = java.util.UUID.randomUUID().toString() + fileExt;
            ObjectMetadata metadata = new ObjectMetadata();
            metadata.setContentLength(file.getSize());
            metadata.setContentType(file.getContentType());
@@ -100,7 +103,43 @@
        PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile);
        cosClient.putObject(putObjectRequest);
        return baseUrl + "/" + key;
        return  key;
    }
    /**
     * 上传本地文件
     * @param fileUrl 本地文件路径
     * @return 文件访问URL
     */
    public String uploadWebFile(String fileUrl) throws IOException {
        // 假设 fileUrl 是你要上传的文件 URL
        System.out.println(fileUrl);
        URL url = new URL(fileUrl);
        InputStream inputStream = url.openStream();
        URLConnection connection = url.openConnection();
        // 获取文件的大小(字节数)
        int contentLength = connection.getContentLength();
        // 获取文件类型
        String type = connection.getContentType();
// 获取文件的扩展名(如果需要)
        String fileExtension = fileUrl.substring(fileUrl.lastIndexOf("."));
        String key = UUID.randomUUID().toString() + fileExtension;
        ObjectMetadata metadata = new ObjectMetadata();
        metadata.setContentLength(contentLength);
        metadata.setContentType(type);
// 创建 PutObjectRequest 请求对象,直接传入 InputStream
        PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, inputStream, metadata);
// 上传文件
        cosClient.putObject(putObjectRequest);
// 关闭输入流
        inputStream.close();
        return  key;
    }
    /**
zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java
@@ -68,7 +68,7 @@
    private LambdaQueryWrapper<ZfEconomy> buildCondition(ZfEconomy zfEconomy,List<Long> familyIdList) {
        LambdaQueryWrapper<ZfEconomy> lqw = new LambdaQueryWrapper<>();
        lqw.orderByDesc(ZfEconomy::getCreateTime);
        lqw.in(ZfEconomy::getFamilyId,familyIdList);
//        lqw.in(ZfEconomy::getFamilyId,familyIdList);
        lqw.like(StringUtils.isNotEmpty(zfEconomy.getType()),ZfEconomy::getType,zfEconomy.getType());
        lqw.like(StringUtils.isNotEmpty(zfEconomy.getKind()),ZfEconomy::getKind,zfEconomy.getKind());
        lqw.like(StringUtils.isNotEmpty(zfEconomy.getPrice()),ZfEconomy::getPrice,zfEconomy.getPrice());
@@ -94,6 +94,11 @@
        lqw.eq(zfEconomy.getHappenTime() != null, ZfEconomy::getHappenTime, zfEconomy.getHappenTime());
        return lqw;
    }
    @Override
    public List<ZfEconomy> change(){
        ZfEconomy zfEconomy = new ZfEconomy();
       return list(buildCondition(zfEconomy,null));
    }
//    private LambdaQueryWrapper<ZfEconomy> buildCondition(ZfEconomy zfEconomy, String familyIds, String secondFamilyAuthority) {
//        //模糊查询的条件