Je souhaite effectuer une demande de publication. Mes données POST auront plusieurs paramètres de chaîne avec les données vidéo. Comment accomplir cela? Quelle est la meilleure façon de télécharger de la vidéo avec d'autres paramètres comme les chaînes, les tableaux, les valeurs NSDictionary?Comment télécharger une vidéo avec d'autres paramètres au format JSON
0
A
Répondre
0
Vous utiliserez généralement un message de requête POST MIME HTTP MultiPart pour ce faire - le message peut contenir la vidéo et tous les paramètres que vous souhaitez inclure.
De vos balises Je suppose que vous voulez faire cela dans iOS - le cas échéant cette réponse donne un exemple complet: https://stackoverflow.com/a/24252378/334402
Si vous voulez le faire dans Android, ce qui suit fonctionnera (voir le titre et description des paramètres ajoutés):
//Create a new Multipart HTTP request to upload the video
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(serverURL);
//Create a Multipart entity and add the parts to it
try {
Log.d("VideoUploadTask doInBackground","Building the request for file: " + videoPath);
FileBody filebodyVideo = new FileBody(new File(videoPath));
StringBody title = new StringBody("Filename:" + videoPath);
StringBody description = new StringBody("Test Video");
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
reqEntity.addPart("videoFile", filebodyVideo);
reqEntity.addPart("title", title);
reqEntity.addPart("description", description);
httppost.setEntity(reqEntity);
} catch (UnsupportedEncodingException e1) {
//Log the error
Log.d("VideoUploadTask doInBackground","UnsupportedEncodingException error when setting StringBody for title or description");
e1.printStackTrace();
return -1;
}
//Send the request to the server
HttpResponse serverResponse = null;
try {
Log.d("VideoUploadTask doInBackground","Sending the Request");
serverResponse = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
//Log the error
Log.d("VideoUploadTask doInBackground","ClientProtocolException");
e.printStackTrace();
} catch (IOException e) {
//Log the error
Log.d("VideoUploadTask doInBackground","IOException");
e.printStackTrace();
}