bug
jiangqs
2023-09-11 3adbcc42d5f84c3c83d220543189361add81e04d
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java
@@ -4,7 +4,9 @@
import com.ruoyi.common.core.utils.file.FileUtils;
import com.ruoyi.file.service.ISysFileService;
import com.ruoyi.file.utils.OBSUploadUtils;
import com.ruoyi.system.api.domain.poji.config.FileRecord;
import com.ruoyi.system.api.domain.poji.sys.SysFile;
import com.ruoyi.system.api.service.RemoteConfigService;
import com.wechat.pay.contrib.apache.httpclient.WechatPayHttpClientBuilder;
import com.wechat.pay.contrib.apache.httpclient.WechatPayUploadHttpPost;
import com.wechat.pay.contrib.apache.httpclient.auth.AutoUpdateCertificatesVerifier;
@@ -20,17 +22,18 @@
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.net.URI;
import java.security.PrivateKey;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@@ -52,8 +55,11 @@
    private final static String API_V3_KEY = "J8v9JDHKJYDHW9bdk30o2bdjy6z9mn1A";
    @Autowired
    @Resource
    private ISysFileService sysFileService;
    @Resource
    private RemoteConfigService remoteConfigService;
    /**
     * 文件上传请求
@@ -64,10 +70,22 @@
        try
        {
            // 上传并返回访问地址
            String fileName = file.getOriginalFilename();
            String prefix = fileName.substring(fileName.lastIndexOf("."));
            long fileSize = file.getSize();
            String url = sysFileService.uploadFile(file);
            SysFile sysFile = new SysFile();
            sysFile.setName(FileUtils.getName(url));
            sysFile.setUrl(url);
            //创建上传记录
            FileRecord fileRecord = new FileRecord();
            fileRecord.setFileName(fileName);
            fileRecord.setFilePath(url);
            fileRecord.setUploadType(2);
            fileRecord.setUploadTime(new Date());
            fileRecord.setFileSize(fileSize);
            fileRecord.setFileType(prefix);
            remoteConfigService.createFileRecord(fileRecord);
            return R.ok(sysFile);
        }
        catch (Exception e)
@@ -85,9 +103,20 @@
    {
        try
        {
            //
            // 上传并返回访问地址
            String fileName = file.getOriginalFilename();
            String prefix = fileName.substring(fileName.lastIndexOf("."));
            long fileSize = file.getSize();
            String url = OBSUploadUtils.uploadFile(file);
            //创建上传记录
            FileRecord fileRecord = new FileRecord();
            fileRecord.setFileName(fileName);
            fileRecord.setFilePath(url);
            fileRecord.setUploadType(2);
            fileRecord.setUploadTime(new Date());
            fileRecord.setFileSize(fileSize);
            fileRecord.setFileType(prefix);
            remoteConfigService.createFileRecord(fileRecord);
            return R.ok(url);
        }
        catch (Exception e)
@@ -100,11 +129,27 @@
    @PostMapping("batchUploadOSS")
    public R<List<String>> batchUploadOSS(@RequestPart("file") MultipartFile[] files) {
        List<String> urls = new ArrayList<>();
        String fileName;
        String prefix;
        long fileSize;
        FileRecord fileRecord;
        for (MultipartFile file : files) {
            try {
                fileName = file.getOriginalFilename();
                prefix = fileName.substring(fileName.lastIndexOf("."));
                fileSize = file.getSize();
                // 上传并返回访问地址
                String url = OBSUploadUtils.uploadFile(file);
                urls.add(url);
                //创建上传记录
                fileRecord = new FileRecord();
                fileRecord.setFileName(fileName);
                fileRecord.setFilePath(url);
                fileRecord.setUploadType(2);
                fileRecord.setUploadTime(new Date());
                fileRecord.setFileSize(fileSize);
                fileRecord.setFileType(prefix);
                remoteConfigService.createFileRecord(fileRecord);
            } catch (Exception e) {
                log.error("上传文件失败", e);
                return R.fail(e.getMessage());