写入服务器时出错
我正在使用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(); } }
由于接收服务器关闭连接,可能是因为您的文件超出了大小限制,因此可能会出现错误。 你用小文件测试过吗?
- 如何使用selenium或webdriver处理测试自动化中的文件上载
- Spring MVC – AngularJS – 文件上传 – org.apache.commons.fileupload.FileUploadException
- Spring mvc:HTTP Status 400 – 必需的MultipartFile参数’file’不存在
- 为什么这个exceptionFileItemStream $ ItemSkippedException?
- 获取HTTP状态400 – 必需的MultipartFile参数’file’在spring中不存在
- 使用Java中的Rest API进行文件上载
- 如何使用JSoup发布文件?
- 如何使用RESTeasy从multipart / form-data请求获取text / xml为UTF-8?
- 在java中读取文件上传的内容