2
0

feat: 下载调整

This commit is contained in:
caiyuchao
2025-06-17 16:05:02 +08:00
parent 3dfee8e360
commit 4a55516016
3 changed files with 26 additions and 2 deletions

View File

@@ -2,7 +2,9 @@ package org.wfc.system.api;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
import org.wfc.common.core.constant.ServiceNameConstants;
@@ -26,4 +28,8 @@ public interface RemoteFileService
*/
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<SysFile> upload(@RequestPart(value = "file") MultipartFile file);
@GetMapping("/download")
public R<byte[]> download(@RequestParam("filePath") String filePath);
}

View File

@@ -1,12 +1,17 @@
package org.wfc.file.controller;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.wfc.common.core.domain.R;
import org.wfc.common.core.exception.ServiceException;
import org.wfc.common.core.utils.file.FileUtils;
import org.wfc.file.service.ISysFileService;
import org.wfc.file.service.LocalSysFileServiceImpl.FileUploadResult;
@@ -46,4 +51,16 @@ public class SysFileController {
return R.fail(e.getMessage());
}
}
@GetMapping("/download")
public R<byte[]> download(@RequestParam("filePath") String filePath) {
byte[] content = null;
if (StrUtil.isNotBlank(filePath)) {
content = FileUtil.readBytes(filePath);
if (content == null) {
throw new ServiceException("file does not exist");
}
}
return R.ok(content);
}
}

View File

@@ -105,7 +105,8 @@ public class UBillServiceImpl extends ServiceImpl<UBillMapper, UBill> implements
UBill bill = this.getById(id);
String invoiceFilePath = bill.getInvoiceFilePath();
if (StrUtil.isNotBlank(invoiceFilePath)) {
byte[] content = FileUtil.readBytes(invoiceFilePath);
R<byte[]> result = remoteFileService.download(invoiceFilePath);
byte[] content = result.getData();
if (content == null) {
throw new ServiceException("file does not exist");
}