Uploding archivo en el servidor mediante POST de Android dando excepción

Tengo un servidor para cargar el archivo de la información del servidor es

<form action="FileUpload" method="post" enctype="multipart/form-data"> Select File <input type="file" name="file1"> <p> Select Filename <input type="text" size="20" name="filename"> <p> <input type=submit value="Upload"> </form> 

Estoy subiendo el archivo usando código debajo

 private boolean doFileUpload ( ) { boolean success = false ; HttpURLConnection conn = null ; DataOutputStream dos = null ; DataInputStream inStream = null ; String exsistingFileName = filePath ; String lineEnd = "\r\n" ; String twoHyphens = "--" ; String boundary = "*****" ; int bytesRead , bytesAvailable , bufferSize ; byte [ ] buffer ; int maxBufferSize = 1 * 1024 * 1024 ; String responseFromServer = "" ; String urlString = "http://paperify.net/tripmark/FileUpload" ; try { // ------------------ CLIENT REQUEST Log.e ( "MediaPlayer" , "Inside second Method" ) ; FileInputStream fileInputStream = new FileInputStream ( new File ( exsistingFileName ) ) ; // open a URL connection to the Servlet URL url = new URL ( urlString ) ; // Open a HTTP connection to the URL conn = ( HttpURLConnection ) url.openConnection ( ) ; // Allow Inputs conn.setDoInput ( true ) ; // Allow Outputs conn.setDoOutput ( true ) ; // Don't use a cached copy. conn.setUseCaches ( false ) ; // Use a post method. conn.setRequestMethod ( "POST" ) ; conn.setRequestProperty ( "Connection" , "Keep-Alive" ) ; conn.setRequestProperty ( "action" , "FileUpload" ) ; conn.setRequestProperty ( "file" , "myfile" ) ; conn.setRequestProperty ( "value" , "Upload" ) ; conn.setRequestProperty ( "Content-Type" , "multipart/form-data;boundary=" + boundary ) ; dos = new DataOutputStream ( conn.getOutputStream ( ) ) ; dos.writeBytes ( twoHyphens + boundary + lineEnd ) ; dos.writeBytes ( "Content-Disposition: form-data; name=\"uploadedfile\";filename=\"" + exsistingFileName + "\"" + lineEnd ) ; dos.writeBytes ( lineEnd ) ; Log.e ( "MediaPlayer" , "Headers are written" ) ; // create a buffer of maximum size bytesAvailable = fileInputStream.available ( ) ; bufferSize = Math.min ( bytesAvailable , maxBufferSize ) ; buffer = new byte [ bufferSize ] ; // read file and write it into form... bytesRead = fileInputStream.read ( buffer , 0 , bufferSize ) ; while ( bytesRead > 0 ) { dos.write ( buffer , 0 , bufferSize ) ; bytesAvailable = fileInputStream.available ( ) ; bufferSize = Math.min ( bytesAvailable , maxBufferSize ) ; bytesRead = fileInputStream.read ( buffer , 0 , bufferSize ) ; } // send multipart form data necesssary after file data... dos.writeBytes ( lineEnd ) ; dos.writeBytes ( twoHyphens + boundary + twoHyphens + lineEnd ) ; BufferedReader in = new BufferedReader ( new InputStreamReader ( conn.getInputStream ( ) ) ) ; String inputLine ; while ( ( inputLine = in.readLine ( ) ) != null ) Log.e ( "Res" , "" + inputLine ) ; // close streams Log.e ( "MediaPlayer" , "File is written" ) ; success = true ; fileInputStream.close ( ) ; dos.flush ( ) ; dos.close ( ) ; } catch ( MalformedURLException ex ) { Log.e ( "MediaPlayer" , "error: " + ex.getMessage ( ) , ex ) ; success = false ; } catch ( IOException ioe ) { Log.e ( "MediaPlayer" , "error: " + ioe.getMessage ( ) , ioe ) ; success = false ; } // ------------------ read the SERVER RESPONSE try { inStream = new DataInputStream ( conn.getInputStream ( ) ) ; String str ; while ( ( str = inStream.readLine ( ) ) != null ) { Log.e ( "MediaPlayer" , "Server Response" + str ) ; } inStream.close ( ) ; } catch ( IOException ioex ) { Log.e ( "MediaPlayer" , "error: " + ioex.getMessage ( ) , ioex ) ; } return success ; } 

No subió el archivo, pero dar la excepción a continuación

 12-16 01:04:37.031: E/MediaPlayer(24133): Headers are written 12-16 01:04:40.410: E/MediaPlayer(24133): error: http://paperify.net/tripmark/FileUpload 12-16 01:04:40.410: E/MediaPlayer(24133): java.io.FileNotFoundException: http://paperify.net/tripmark/FileUpload 12-16 01:04:40.410: E/MediaPlayer(24133): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:521) 12-16 01:04:40.410: E/MediaPlayer(24133): at com.paperify.tripmark.UploadPicture.doFileUpload(UploadPicture.java:141) 12-16 01:04:40.410: E/MediaPlayer(24133): at com.paperify.tripmark.UploadPicture.doInBackground(UploadPicture.java:39) 12-16 01:04:40.410: E/MediaPlayer(24133): at com.paperify.tripmark.UploadPicture.doInBackground(UploadPicture.java:1) 12-16 01:04:40.410: E/MediaPlayer(24133): at android.os.AsyncTask$2.call(AsyncTask.java:185) 12-16 01:04:40.410: E/MediaPlayer(24133): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 12-16 01:04:40.410: E/MediaPlayer(24133): at java.util.concurrent.FutureTask.run(FutureTask.java:138) 12-16 01:04:40.410: E/MediaPlayer(24133): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 12-16 01:04:40.410: E/MediaPlayer(24133): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 12-16 01:04:40.410: E/MediaPlayer(24133): at java.lang.Thread.run(Thread.java:1019) 12-16 01:04:40.437: E/MediaPlayer(24133): error: http://paperify.net/tripmark/FileUpload 12-16 01:04:40.437: E/MediaPlayer(24133): java.io.FileNotFoundException: http://paperify.net/tripmark/FileUpload 12-16 01:04:40.437: E/MediaPlayer(24133): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:521) 12-16 01:04:40.437: E/MediaPlayer(24133): at com.paperify.tripmark.UploadPicture.doFileUpload(UploadPicture.java:167) 12-16 01:04:40.437: E/MediaPlayer(24133): at com.paperify.tripmark.UploadPicture.doInBackground(UploadPicture.java:39) 12-16 01:04:40.437: E/MediaPlayer(24133): at com.paperify.tripmark.UploadPicture.doInBackground(UploadPicture.java:1) 12-16 01:04:40.437: E/MediaPlayer(24133): at android.os.AsyncTask$2.call(AsyncTask.java:185) 12-16 01:04:40.437: E/MediaPlayer(24133): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 12-16 01:04:40.437: E/MediaPlayer(24133): at java.util.concurrent.FutureTask.run(FutureTask.java:138) 12-16 01:04:40.437: E/MediaPlayer(24133): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 12-16 01:04:40.437: E/MediaPlayer(24133): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 12-16 01:04:40.437: E/MediaPlayer(24133): at java.lang.Thread.run(Thread.java:1019) 

La primera línea en com.paperify.tripmark.UploadPicture.doFileUpload(UploadPicture.java:141) es

 BufferedReader in = new BufferedReader ( new InputStreamReader ( conn.getInputStream ( ) ) ) ; 

No sé qué malo estoy haciendo … Por favor, ayúdame. El archivo no aparece en el servidor

One Solution collect form web for “Uploding archivo en el servidor mediante POST de Android dando excepción”

Utilizar cliente HTTP. Aquí hay un código de ejemplo.

 import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntity; import org.apache.http.entity.mime.content.FileBody; import org.apache.http.entity.mime.content.StringBody; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; ... public static void uploadFile() throws Exception { HttpClient httpclient = new DefaultHttpClient(); try { HttpPost httppost = new HttpPost("http://paperify.net/tripmark/FileUpload"); StringBody filename = new StringBody("filename.ext"); File f = new File("src"+File.separator + "filename.ext"); FileBody bin = new FileBody(f); StringBody comment = new StringBody("A binary file of some kind"); MultipartEntity reqEntity = new MultipartEntity(); reqEntity.addPart("file1", bin); reqEntity.addPart("filename", filename); reqEntity.addPart("comment", comment); httppost.setEntity(reqEntity); System.out.println("executing request " + httppost.getRequestLine()); HttpResponse response = httpclient.execute(httppost); HttpEntity resEntity = response.getEntity(); System.out.println("----------------------------------------"); System.out.println(response.getStatusLine()); if (resEntity != null) { System.out.println("Response content length: " + resEntity.getContentLength()); InputStream is = resEntity.getContent(); if (is != null) { Writer writer = new StringWriter(); char[] buffer = new char[1024]; try { Reader reader = new BufferedReader( new InputStreamReader(is, "UTF-8")); int n; while ((n = reader.read(buffer)) != -1) { writer.write(buffer, 0, n); } } finally { is.close(); } System.out.println("Response content: "+writer.toString()); } else { System.out.println("Response nothing: "); } } EntityUtils.consume(resEntity); } finally { try { httpclient.getConnectionManager().shutdown(); } catch (Exception ignore) {} } } } 
  • ¿Cómo usar 'POST' Http Verbo de Woocommerce REST API en JAVA / Android?
  • Los primeros intentos de HTTP POST y GET son siempre lentos - ¿Está relacionado con el SO o con la red?
  • ¿Cómo puedo cambiar CONTENT-TYPE de WebView # PostUrl ()?
  • ArrayList a DavidWebb Android
  • Archivo de httpclient para Android: corrupción de datos y problemas de tiempo de espera
  • Cargar archivos de MS Word de Android a .Net WCF?
  • phonegap android ajax solicita trabajo para GET pero no POST
  • Cómo enviar datos al sitio web mediante la aplicación android
  • HTTPURLConnection - POST multipart / form-data con archivo grande con FixedLengthStreamingMode
  • Android, envío de XML a través de HTTP POST (SOAP)
  • LoopJ AndroidAsyncHttp y JSON POST ARRAY
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.