0
노트북에서 서버로 파일을 업로드하려고 할 때 오류가 발생했습니다.Android 대신 바탕 화면에서 RestTemplate을 사용할 수 있습니까?
Exception in thread "main" java.lang.NoClassDefFoundError: android/os/Build$VERSION
나는 오류 코드를 검색하여 안드로이드 장치에서 코드를 실행해야한다는 답변을 발견했지만 내 랩톱에서 코드를 실행하면 어떨까요? 데스크톱에서 실행되는 독립 실행 형 RestTemplate 프로그램을 만들 수 있습니까?
서버 측 코드 :
@RequestMapping(value="/upload", method=RequestMethod.POST)
public String handleUpload(String filename, MultipartFile file) throws IOException {
if(!file.isEmpty()) {
File saveFile = new File(rootPath + "\\" + filename);
saveFile.createNewFile();
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(saveFile));
FileCopyUtils.copy(file.getInputStream(), bufferedOutputStream);
bufferedOutputStream.close();
return "uploaded successfully";
} else {
return "failed";
}
}
클라이언트 측 코드 : http://mvnrepository.com/artifact/org.springframework/spring-web/
이름 : 당신은 스프링 웹 라이브러리가 필요합니다 데스크톱 환경에 RestTemplate을 사용하기 위해
public static void main(String[] args)
{
String url = UPLOAD_URL;
String filePath = PATH + "\\204375-106.jpg";
SimpleClientHttpRequestFactory httpRequestFactory = new SimpleClientHttpRequestFactory();
RestTemplate rest = new RestTemplate(httpRequestFactory);
FileSystemResource resource = new FileSystemResource(new File(filePath));
MultiValueMap<String, Object> param = new LinkedMultiValueMap<String, Object>();
param.add("file", resource);
param.add("filename", "204375-106.jpg");
String string = rest.postForObject(url, param, String.class);
System.out.println(string);
}