I have a server to upload file the server info is
<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> I am uploading file using below code
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 ; } It did not upload file but give exception below
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) The 1st line at com.paperify.tripmark.UploadPicture.doFileUpload(UploadPicture.java:141) is
BufferedReader in = new BufferedReader ( new InputStreamReader ( conn.getInputStream ( ) ) ) ; I don't know what wrong I am doing.