修复流水分析上传文件名传递

This commit is contained in:
wkc
2026-05-06 14:49:47 +08:00
parent 4988ab5944
commit 2071d04c08
2 changed files with 32 additions and 2 deletions

View File

@@ -15,6 +15,7 @@ import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.io.File;
import java.util.Arrays;
@@ -110,7 +111,15 @@ public class LsfxAnalysisClient {
* 上传文件
*/
public UploadFileResponse uploadFile(Integer groupId, File file) {
log.info("【流水分析】上传文件请求: groupId={}, fileName={}", groupId, file.getName());
return uploadFile(groupId, file, file.getName());
}
/**
* 上传文件
*/
public UploadFileResponse uploadFile(Integer groupId, File file, String uploadFileName) {
String multipartFileName = StringUtils.hasText(uploadFileName) ? uploadFileName : file.getName();
log.info("【流水分析】上传文件请求: groupId={}, fileName={}", groupId, multipartFileName);
long startTime = System.currentTimeMillis();
try {
@@ -118,7 +127,7 @@ public class LsfxAnalysisClient {
Map<String, Object> params = new HashMap<>();
params.put("groupId", groupId);
params.put("files", file);
params.put("files", HttpUtil.namedFileResource(file, multipartFileName));
Map<String, String> headers = new HashMap<>();
headers.put(LsfxConstants.HEADER_CLIENT_ID, clientId);

View File

@@ -10,6 +10,7 @@ import org.springframework.http.*;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.util.StringUtils;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
@@ -31,6 +32,24 @@ public class HttpUtil {
@Resource
private ObjectMapper objectMapper;
public static org.springframework.core.io.Resource namedFileResource(File file, String filename) {
return new NamedFileSystemResource(file, filename);
}
private static class NamedFileSystemResource extends FileSystemResource {
private final String filename;
NamedFileSystemResource(File file, String filename) {
super(file);
this.filename = StringUtils.hasText(filename) ? filename : file.getName();
}
@Override
public String getFilename() {
return filename;
}
}
/**
* 发送GET请求带查询参数和请求头
* @param url 请求URL
@@ -207,6 +226,8 @@ public class HttpUtil {
if (value instanceof File) {
File file = (File) value;
body.add(key, new FileSystemResource(file));
} else if (value instanceof org.springframework.core.io.Resource) {
body.add(key, value);
} else {
body.add(key, value);
}