写入服务器时出错

我正在使用Java程序“POST”方法将文件从一台服务器上传到另一台服务器。 但我正在低于例外。

java.io.IOException: Error writing to server at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:582) at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:594) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(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) 

我有其他方法将与服务器进行身份validation。 这将从下面的代码中调用。 当我从服务器得到响应时,我正在超越exception。 要将文件传输到服务器,我已经写了下面的方法。 我的示例代码如下:

 public static void TransferFile(){ String urlStr = "http://192.168.0.8:8600/audiofile?path=1/622080256/virtualhaircut.mp3"; 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(); } } 

由于接收服务器关闭连接,可能是因为您的文件超出了大小限制,因此可能会出现错误。 你用小文件测试过吗?