zoukankan      html  css  js  c++  java
  • 利用HttpClient进行带参数的http文件上传

    注意:要引用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);      
    }    
  • 相关阅读:
    Android studio的基本使用
    Java web项目基本介绍
    关于缓存的问题
    tomcat的基本使用
    https的页面内嵌入http页面报错的问题
    RTTHREAD使用sscanf遇到的问题
    Supervisor安装与配置(Linux/Unix进程管理工具)
    MYSQL 检查表的元数据是否有异常
    多表select count语句生成 带格式化
    MYSQL压缩表测试
  • 原文地址:https://www.cnblogs.com/zitjubiz/p/java_httpclient_upload_file.html
Copyright © 2011-2022 走看看