注意:要引用commons-httpclient-3.1.jar
commons-codec.jar
commons-logging.jar这三个包
客户端例子代码
import java.io.File; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.methods.multipart.FilePart; import org.apache.commons.httpclient.methods.multipart.StringPart; import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity; import org.apache.commons.httpclient.methods.multipart.Part; public class Hclient { public static void main(String args[]) { String targetURL = null;// TODO 指定URL File targetFile = null;// TODO 指定上传文件 targetFile = new File("1.mp3"); targetURL = "http://localhost:8080/test/uploadFile"; //servleturl PostMethod filePost = new PostMethod(targetURL); try { Part[] parts = { new FilePart(targetFile.getName(), targetFile), new StringPart("parm1","parm1Value") }; filePost.setRequestEntity(new MultipartRequestEntity(parts,filePost.getParams())); HttpClient client = new HttpClient(); client.getHttpConnectionManager().getParams().setConnectionTimeout(5000); int status = client.executeMethod(filePost); if (status == HttpStatus.SC_OK) { System.out.println("上传成功"); } else { System.out.println("上传失败"); } } catch (Exception ex) { ex.printStackTrace(); } finally { filePost.releaseConnection(); } } }
服务器端代码:
@RequestMapping(“/test/uploadFile") public ModelAndView saveUpload( @RequestParam("uploadFile") MultipartFile file, HttpServletRequest request) { String dir =request.getSession().getServetContext().getRealPath("uploadDir"); File newPath = new File(dir +"saveFileName.zip"); file.transferTo(newPath); }