У меня проблема, у меня есть этот код из моей школы, и мне нужно объединить его с jfilechooser.Это должно работать так: нажмите кнопку искать файл, который вы хотите загрузить на сервер -> загрузить на сервер -> получить успешный ответ -> показать в графическом интерфейсе
import static java.text.MessageFormat.format;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.core.io.FileSystemResource;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class BuildServerServerApplicationTests {
@LocalServerPort
int port;
@Value("${storage.rootpath}")
private String ROOT_PATH;
@Test
public void uploadFile() throws IOException {
String filePath = "C:\\temp\\build-server-test\\";
String extension = ".txt";
String zipExtension = ".zip";
String filename = "test";
String author = "johndoe";
Path zipFile = Paths.get(filePath, filename + zipExtension);
Path originalFile = Paths.get(filePath, filename + extension);
Path targetPath = Paths.get(ROOT_PATH + "\\" + filename + zipExtension);
Files.deleteIfExists(targetPath);
Files.deleteIfExists(zipFile);
ZipUtils.zip(originalFile, zipFile);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
headers.add("author", author);
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
body.add("file", new FileSystemResource(zipFile.toFile()));
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(body, headers);
String url = format("http://localhost:{0}/file/upload", String.valueOf(port));
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);
System.out.println(response);
assertThat(Files.exists(targetPath), is(true));
assertThat(new String((byte[])Files.getAttribute(targetPath, "user:author")), is(author));
}
}
надеюсь, вы поможете мне ... спасибо за каждый совет :) Если вам нужна дополнительная информация, просто скажите мне, я рад за любую помощь