package com.wujiahao;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.http.*;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) {
String url = "http://localhost:8888/a/file/upload";
String filePath = "D:\\logs.zip";
try {
// 读取文件内容
byte[] bytes = Files.readAllBytes(Paths.get(filePath));
// 构建请求体
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
ByteArrayResource resource = new ByteArrayResource(bytes) {
@Override
public String getFilename() {
return "logs.zip";
}
};
body.add("files", resource);
// 构建请求头
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
// 发送请求
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST,
new HttpEntity<>(body, headers),
String.class);
System.out.println("Response: " + response.getBody());
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.wujiahao.controller;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@RestController
@RequestMapping("${sys.base.adminPath}/file")
@Slf4j
@Tag(name = "文件处理")
public class FileController {
@PostMapping("/upload")
public void testUploadFile(@RequestParam("files") MultipartFile file) {
System.out.println("接收到上传请求");
}
}