public static void upload2() throws ClientProtocolException, IOException{
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
CloseableHttpResponse httpResponse = null ;
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout( 200000 ).setSocketTimeout( 200000000 ).build();
HttpPost httpPost = new HttpPost( "http://localhost:8080/WEY.WebApp/auth/right/right/receiveFile.html" );
httpPost.setConfig(requestConfig);
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
//multipartEntityBuilder.setCharset(Charset.forName("UTF-8"));
//File file = new File("F:\\Ken\\1.PNG");
//FileBody bin = new FileBody(file);
File file = new File( "F:\\Ken\\abc.pdf" );
//multipartEntityBuilder.addBinaryBody("file", file,ContentType.create("image/png"),"abc.pdf");
//當設置了setSocketTimeout參數後,以下代碼上傳PDF不能成功,將setSocketTimeout參數去掉後此可以上傳成功。上傳圖片則沒有個限制
//multipartEntityBuilder.addBinaryBody("file",file,ContentType.create("application/octet-stream"),"abd.pdf");
multipartEntityBuilder.addBinaryBody( "file" ,file);
//multipartEntityBuilder.addPart("comment", new StringBody("This is comment", ContentType.TEXT_PLAIN));
multipartEntityBuilder.addTextBody( "comment" , "this is comment" );
HttpEntity httpEntity = multipartEntityBuilder.build();
httpPost.setEntity(httpEntity);
httpResponse = httpClient.execute(httpPost);
HttpEntity responseEntity = httpResponse.getEntity();
int statusCode= httpResponse.getStatusLine().getStatusCode();
if (statusCode == 200 ){
BufferedReader reader = new BufferedReader( new InputStreamReader(responseEntity.getContent()));
StringBuffer buffer = new StringBuffer();
String str = "" ;
while (!StringUtil.isRealEmpty(str = reader.readLine())) {
buffer.append(str);
}
System.out.println(buffer.toString());
}
httpClient.close();
if (httpResponse!= null ){
httpResponse.close();
}
}
|