Error writing to server

I am uploading a file from one server to another server using a Java Program 'POST' method. But I am getting below exception.

java.io.IOException: Error writing to server at sun.net.(HttpURLConnection.java:582) at sun.net.(HttpURLConnection.java:594) at sun.net.(HttpURLConnection.java:1216) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379) at com.test.rest.HttpURLConnectionExample.TransferFile(HttpURLConnectionExample.java:107) at com.test.rest.HttpURLConnectionExample.main(HttpURLConnectionExample.java:44) 

I have other method who will authenticate with server. Which will be be called from below code. When I am getting response from server, I am getting above exception. To Transfer a file to server I have written below method. My sample code is below:

public static void TransferFile(){ String urlStr = ""; File tempFile = new File("/home/MyPath/Workspace/Sample/virtualhaircut.mp3"); BufferedWriter br=null; HttpURLConnection conn = null; URL url; try { url = new URL(urlStr); AuthenticationUser(); conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", new MimetypesFileTypeMap().getContentType(tempFile.getName())); } catch (MalformedURLException e1) { System.out.println("Malformed"); e1.printStackTrace(); } catch (ProtocolException e) { System.out.println("Protocol"); e.printStackTrace(); } catch (IOException e) { System.out.println("IO"); e.printStackTrace(); } System.out.println("line 69"); FileInputStream fis; OutputStream fos; try { System.out.println("line 75"); System.out.println("line 77"); fis = new FileInputStream(tempFile); fos = conn.getOutputStream(); byte[] buf = new byte[1024 * 2]; int len = 0; System.out.println("line 80"); while ((len = fis.read(buf)) > 0) { fos.write(buf, 0, len); System.out.println("line 85"); } System.out.println("line 87"); buf = null; fos.flush(); fos.close(); fis.close(); }catch (FileNotFoundException e) { System.out.println(""); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { if (conn.getResponseCode() == 200) { System.out.println("here"); } } catch (IOException e) { e.printStackTrace(); } } 
1

1 Answer

It is possible that the error ocurred because the receiving server closed the connection, maybe because your file exceeded the size limit. Have you tested with small files?

7

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like