2016-06-01 1 views
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); 
} 

답변

0

패키지와 클래스가 동일하므로 코드를 재사용 할 수 있습니다.

관련 문제