Я использую Spring as Technology. Apache HttpClient для вызова Webservice. Основная цель - загрузить Multipart File (Файл не является файлом изображения или видеофайлом). но тут Мое требование немного другое. Пожалуйста, проверьте ниже изображение.Java: отправить многостраничный файл в RESTWebservice
Здесь Вы можете увидеть первый блок. Это простой графический интерфейс, имеющий только 2 входных тега вместе с соответствующим тегом формы.
Во втором блоке существует RESTFul Webservice, который принимает файл Multipart как параметр и обрабатывает его. (Это делается).
Теперь я застрял здесь. Я хочу отправить этот файл Multipart в другой RESTFul Webservice, который использует только файл Multipart.
код сниппета успокоительной Webservice: (Комментировал некоторые вопросы, нужно ваше предложение)
@RequestMapping(value="/project/add")
public @ResponseBody String addURLListToQueue(
@RequestParam(value = "file") MultipartFile file,
@RequestParam(value = "id1", defaultValue = "notoken") String projectName,
@RequestParam(value = "id2", defaultValue = "notoken") String id2,
@RequestParam(value = "id3", defaultValue = "notoken") String id3){
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
HttpPost httppost = new HttpPost("http://localhost:8080/fs/project/add");
// 1) Do I need to convert it into File object? (tried but faced 400 Error)
// 2) Is there any provision to send Multipart File as it is?
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file, "multipart/form-data");
mpEntity.addPart("file", cbFile);
httppost.setEntity(mpEntity);
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();
System.out.println(response.getStatusLine());
if (resEntity != null) {
System.out.println(EntityUtils.toString(resEntity));
}
if (resEntity != null) {
resEntity.consumeContent();
}
httpclient.getConnectionManager().shutdown();
}
}
Вопросы: Как отправить Multipart файл в успокоительной Webservice с помощью HttpClient?
следовать этому link.https: //www.youtube.com/watch v = yr01OEk6FfM –
Вы используете CXF или Джерси, чтобы построить RESTful сервис? – Garry
@PrafulMakani: Я просто просмотрел это видео. Это не соответствует моему требованию. Я хочу отправить многостраничный файл с помощью Apache Httpclient. – Ronnie