2013-11-25 3 views
0

В настоящее время я отправляю имя пользователя в качестве параметра в свой сервлет из приложения Android. Теперь я хочу отправить текстовый файл в свой сервлет из приложения Android. Возможно ?. Здесь пример кода, который я пробовал для отправки имени пользователя через Http.Отправить текстовый файл через http в android

 try 
     { 
     URL url = new URL("http:/xx.xxx.xxx.x/sample?user=admin"); // File as parameter 
      HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
      InputStream in = new BufferedInputStream(urlConnection.getInputStream()); 
      BufferedReader r = new BufferedReader(new InputStreamReader(in)); 
      String x = ""; 
      String total = ""; 
      int i=0; 
      ArrayList<String> content = new ArrayList(); 
      while((x = r.readLine()) != null) 
      { 
         content.add(x); 

      } 
      in.close(); 
      r.close(); 
     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
      Toast.makeText(this, e.toString(), Toast.LENGTH_SHORT).show(); 
     } 

Приведенный выше код работает отлично, как передать текстовый файл, который хранящийся в моей SD-карты в качестве параметра сервлета? .thanks заранее.

+2

уа возможно мы можем отправить файл на сервер см следующую ссылку HTTP: //reecon.wordpress. com/2010/04/25/uploading-files-to-http-server-using-post-android-sdk/ – prakash

+0

вместо изображения разместить свой текстовый файл – prakash

ответ

0

Вот некоторый код, но я настоятельно рекомендую, чтобы загрузить данные через запрос POST вместо запроса GET:

private void sendFileThroughHTTP(File file) { 
    try { 
     Uri uri = new Uri.Builder().scheme("http").encodedAuthority("xx.xxx.xxx.x") 
       .path("sample") 
       .appendQueryParameter("user", "admin") 
       .appendQueryParameter("file", fileToString(file)) 
       .build(); 
     HttpGet get = new HttpGet(uri.toString()); 

     HttpClient client = new DefaultHttpClient(); 
     client.execute(get); 
    } catch (ClientProtocolException e) { 
     Log.e("SOME_TAG", Log.getStackTraceString(e)); 
    } catch (IOException e) { 
     Log.e("SOME_TAG", Log.getStackTraceString(e)); 
    } 
} 

private String fileToString(File file) { 
    String resultString = ""; 
    FileReader fileReader = null; 
    if (file != null && file.isFile()) { 
     try { 
      fileReader = new FileReader(file); 
      BufferedReader reader = new BufferedReader(fileReader); 
      StringBuilder stringBuilder = new StringBuilder(); 
      String temp; 
      while ((temp = reader.readLine()) != null) { 
       stringBuilder.append(temp); 
      } 
      resultString = stringBuilder.toString(); 
     } catch (FileNotFoundException e) { 
      Log.e("SOME_TAG", Log.getStackTraceString(e)); 
     } catch (IOException e) { 
      Log.e("SOME_TAG", Log.getStackTraceString(e)); 
     } finally { 
      try { 
       if (fileReader != null) { 
        fileReader.close(); 
       } 
      } catch (IOException e) { 
       Log.e("SOME_TAG", Log.getStackTraceString(e)); 
      } 
     } 
    } 
    return resultString; 
} 
Смежные вопросы