Sadece Android Cihazımdan bir Java geri yüklememe ve bazı StackOverflow iş parçacıklarını okuduktan sonra bir video yükleyebilmem gerektiğini öğrendim. Bu videoyu benim POST'umun Java Backend'e Multipart olarak gönderilmesini istediğimi öğrendim.Android: Videoyu Java Backend'e POST isteği olarak mı yüklüyor?
Temel olarak, video dosyasını bir Çoklu Metin POST isteği olarak POST'lar olan aşağıdakileri gerçekleştirmeyi başardım.
Android Müşteri:
private void uploadVideo(String videoPath) throws ParseException, IOException {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("MY_SERVER_URL");
FileBody filebodyVideo = new FileBody(new File(videoPath));
StringBody title = new StringBody("Filename: " + videoPath);
StringBody description = new StringBody("This is a description of the video");
MultipartEntity reqEntity = new MultipartEntity();
reqEntity.addPart("video", filebodyVideo);
reqEntity.addPart("title", title);
reqEntity.addPart("description", description);
httppost.setEntity(reqEntity);
// DEBUG
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();
}
, nasıl Java Arka Ucu gelen dosya alırım edilir sorum? Değiştirmem gereken Backend yöntemi. Birisi video dosyasını arka uçtan nasıl alabileceğime işaret edebilir mi? Şu anda ne var
: I (hata işleme, doğrulama ve malzeme olmadan) bunu nasıl yaptı İşte
@Path("/user")
public class UserAPI {
@POST
//To receive the file, What do I add below instead of the lines I've commented.
//@Produces(MediaType.APPLICATION_JSON)
//@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Path("/postvideo")
public VideoResponse PostVideo(){
//My code
}
}
Böylece, içerik türü 'çok parçalı/form-veri' olur mu? Bu doğru mu? – Dinuka
Bazı içe aktarma sorunlarım var. 'InputPart' ve 'MultipartFormDataInput' için bir ithalat bulmuyorum. Bir JAR eklesin mi? – Dinuka
Hangi çerçeveyi kullanıyorsunuz? Belki de bunu sorgunuza ekleyebilirsin, cevabımdaki kod RESTEasy –