Я пытаюсь загрузить видео на сервер, используя почтовый запрос http.
Когда я отлаживаю и вижу ответ http, он показывает 200 OK
Мой сервисный звонок
но после этого
String responseStr = EntityUtils.toString(resEntity).trim();
responseStr возвращает {"Success":false,"Data":"Индекс вне допустимого диапазона. Должен быть неотрицательным и меньше размера коллекции.\r\nИмя параметра: index","Message":"test ","Id":0,"Email":null,"url":null,"imgurl":null} и видео не загружается.
Мой код
Получение сведений о видео
int mychunkSize = 100 * 1024;
videoLength = String.format(
"%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes(duration),
TimeUnit.MILLISECONDS.toSeconds(duration)
- TimeUnit.MINUTES
.toSeconds(TimeUnit.MILLISECONDS
.toMinutes(duration)));
realPath = getRealPathFromURI(imageFileUri2);
long size1 = realPath.length();
size = Long.toString(size1);
long chunks1 = size1 < mychunkSize ? 1
: (realPath.length() / mychunkSize);
chunks = Long.toString(chunks1);
file1 = new File(realPath);
long length1 = file1.length();
length1 = length1 / 1024;
filename = file1.getName().toString();
eventID = user.getnEventID();
userID = user.getnUserID();
commentMsg = "videotesting";
Загрузить на сервер
MultipartEntity entity = new MultipartEntity(
HttpMultipartMode.BROWSER_COMPATIBLE);
entity.addPart("uploaded", new StringBody(realPath));
HttpClient httpclient1 = new DefaultHttpClient();
HttpPost httppost1 = new HttpPost(
"http://capmem.omsoftware.co/Event/UploadVideo");
try {
// Add your data
List<NameValuePair> nameValuePairs1 = new ArrayList<NameValuePair>(
2);
nameValuePairs1.add(new BasicNameValuePair("callback",
"localJsonpCallback"));
nameValuePairs1.add(new BasicNameValuePair("filename",
filename));
nameValuePairs1.add(new BasicNameValuePair("ext", "mp4"));
nameValuePairs1.add(new BasicNameValuePair("totalsize",
size));
nameValuePairs1.add(new BasicNameValuePair("EventID",
eventID));
nameValuePairs1
.add(new BasicNameValuePair("UserID", userID));
nameValuePairs1.add(new BasicNameValuePair("comment",
commentMsg));
nameValuePairs1.add(new BasicNameValuePair("VideoLength",
videoLength));
nameValuePairs1
.add(new BasicNameValuePair("chunk", chunks));
httppost1.setEntity(new UrlEncodedFormEntity(
nameValuePairs1));
// Execute HTTP Post Request
HttpResponse response = httpclient1.execute(httppost1);
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
String responseStr = EntityUtils.toString(resEntity)
.trim();
// you can add an if statement here and do other actions
// based on the response
}
} catch (ClientProtocolException e) {
} catch (IOException e) {
}
здесь "response" дает 200 OK, но "responseStr" возвращает {"Success":false,"Data":"Индекс вне допустимого диапазона. Должен быть неотрицательным и меньше размера коллекции.\r\nИмя параметра : index","Message":"test","Id":0,"Email":null,"url":null,"imgurl":null}
Мне нужно добавить куски в цикл со смещением, сделать это в цикле, пока общий размер и смещение не сравняются.
Пожалуйста помоги..