我在尝试将文件从笔记本电脑上传到服务器时遇到错误。
线程中的异常" main" java.lang.NoClassDefFoundError:android / os / Build $ VERSION
我搜索了错误代码并找到了一个答案,表明我应该在Android设备上运行我的代码,但如果我在笔记本电脑上运行我的代码该怎么办呢。是否可以创建在桌面上运行的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";
}
}
客户端代码:
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 :(得分:0)
要在桌面环境中使用RestTemplate,您需要spring-web库: http://mvnrepository.com/artifact/org.springframework/spring-web/
包和类的名称是相同的,因此您可以重用代码。