Я ПОЧТИ видеофайла с моего Android-клиента на свой сервер в качестве многостраничного запроса. Мне нужно написать метод на стороне сервера, чтобы получить следующий запрос.Java: получить видеофайл из многостраничного запроса POST
- Я использую Джерси, как на стороне сервера Framework
Мой код выглядит следующим образом:
private void send_video_to_server(String videoPath) throws ParseException, IOException {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://MY_SERVER_URL/videos/postvideo");
FileBody filebodyVideo = new FileBody(new File(videoPath));
StringBody title = new StringBody(titleBox.getText().toString());
StringBody description = new StringBody(captionBox.getText().toString());
MultipartEntity reqEntity = new MultipartEntity();
reqEntity.addPart("videoFile", filebodyVideo);
reqEntity.addPart("title", title);
reqEntity.addPart("description", description);
httppost.setEntity(reqEntity);
// DEBUG
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();
// DEBUG
System.out.println(response.getStatusLine());
if (resEntity != null) {
System.out.println(EntityUtils.toString(resEntity));
} // end if
if (resEntity != null) {
resEntity.consumeContent();
} // end if
httpclient.getConnectionManager().shutdown();
}
Как я пишу SERVER код на стороне ПОЛУЧИТЬ вышеупомянутый запрос? Подписи для ответа будет достаточно для ответа :)
Не должно быть методом POST, который принимает в многочастного запросе? – Dinuka
@ Earthling Да хорошо HttpServlet также имеет метод doPost, который вы можете переопределить аналогично методу doGet. См. [Link] (http://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServlet.html#doPost-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-) – taivo
Спасибо, но я все еще смущен тем, как получить файл от запроса, когда он достигнет doPost? Как кодировать многостраничный запрос? – Dinuka