我正在尝试从 java spring 控制器调用 web 服务。下面是代码
private void storeImages(MultipartHttpServletRequest multipartRequest) {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost(
"http://localhost:8080/dream/storeimages.htm");
MultipartFile multipartFile1 = multipartRequest.getFile("file1");
MultipartEntity multipartEntity = new MultipartEntity(
HttpMultipartMode.BROWSER_COMPATIBLE);
multipartEntity.addPart("file1",
new ByteArrayBody(multipartFile1.getBytes(),
multipartFile1.getContentType(),
multipartFile1.getOriginalFilename()));
postRequest.setEntity(multipartEntity);
HttpResponse response = httpClient.execute(postRequest);
if (response.getStatusLine().getStatusCode() != 201) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatusLine().getStatusCode());
}
}
以上只是部分代码。我正在尝试确定如何在服务器端检索它。在服务器端,我有以下 Spring 控制器代码
@RequestMapping(value = "/storeimages.htm", method = RequestMethod.POST)
public ModelAndView postItem(HttpServletRequest request,
HttpServletResponse response) {
logger.info("Inside /secure/additem/postitem.htm");
try {
// How to get the MultipartEntity object here. More specifically i
// want to get back the Byte array from it
} catch (Exception ex) {
ex.printStackTrace();
}
return new ModelAndView("success");
}
我执行了这段代码,我的控制权转移到了服务器端。但我被困在如何从多方对象中取回字节数组。
编辑要求:这是要求。用户从网站上传图像(已完成并正常工作) 表单提交后控件转到 Spring 控制器(已完成并正常工作) 在 Spring 控制器中,我使用 Multipart 来获取表单的内容。(这已经完成并且正在工作)现在我想调用一个 Web 服务,它将图像字节数组发送到图像服务器。(这需要完成)在图像服务器上,我想接收这个 Web 服务请求从 HTTPServlerRequest 获取所有字段,存储图像并返回(这个需要做)