как совместить сервер с JfileChooser - PullRequest
0 голосов
/ 05 октября 2018

У меня проблема, у меня есть этот код из моей школы, и мне нужно объединить его с 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));
  }
}

надеюсь, вы поможете мне ... спасибо за каждый совет :) Если вам нужна дополнительная информация, просто скажите мне, я рад за любую помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...