2013-08-19 3 views

ответ

0

Вы можете попробовать создать полный рабочий код для отправки видео или большого файла на сервер через многоадресную рассылку.

public static Boolean SendPostToServer(FBPost postData, Context context, String videoPath) { 
    try { 
     HttpClient httpClient = new DefaultHttpClient(); 
     HttpPost postRequest = new HttpPost(context.getString(R.string.url_service_post)); 
     MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 
     if(!videoPath.isEmpty()){ 

      FileBody filebodyVideo = new FileBody(new File(videoPath)); 
      reqEntity.addPart("uploaded", filebodyVideo); 
     } 
     reqEntity.addPart("userId", new StringBody(postData.userId)); 
     reqEntity.addPart("postText", new StringBody(postData.postText)); 
     if(postData.postId != null && postData.postId.length() > 0) { 
      reqEntity.addPart("postId", new StringBody(postData.postId)); 
     } 
     postRequest.setEntity(reqEntity); 
     HttpResponse response = httpClient.execute(postRequest); 

     BufferedReader reader = new BufferedReader(new InputStreamReader(
       response.getEntity().getContent(), "UTF-8")); 
     String sResponse; 
     StringBuilder s = new StringBuilder(); 

     while ((sResponse = reader.readLine()) != null) { 
      s = s.append(sResponse); 
     } 

     Log.e("Response: ", s.toString()); 
     return true; 

    } catch (Exception e) { 
     Log.e(e.getClass().getName(), e.getMessage()); 
     return false; 
    } 
} 
+0

Я попробую это. Но уверены ли вы, что он не выдаст ошибку памяти для больших файлов (например, от 20 МБ до 50 МБ)? –

+0

Нет, он отправит ваши данные в куски и не выдаст ошибку памяти –

+0

ok..Посмотрит. Я попробую и отвечу вам как можно скорее. Благодаря! –