我推荐你用HttpClient 来模拟带附件的POST上传,
官方网页为 http://hc.apache.org/httpclient-3.x/methods/multipartpost.html

解决方案 »

  1.   

    xml的格式已经定好了那就没有办法了
      

  2.   

    xml里写好要文件的路径比如http://www.163.com/zip/down.zip找这个url 
    比如:<zipUrl>http://www.163.com/zip/down.zip</zipUrl>当服务器端读xml解析到<zipUrl>的时候对找个路径进行下载URL url = new URL("http://www.163.com/zip/down.zip");
    HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection();httpConnection.setRequestProperty("User-Agent","NetFox");InputStream input = httpConnection.getInputStream();....................这样就可以了,你也可以用多线程断点续传,那样更快更好。如果你一定在提交的时候带附件的话,那么你就去看看http1.1信息头,里面写的也很详细。
      

  3.   

    我是把xml和附件通过一次http请求传递给服务端,现在xml已经占据了http 请求包体,附件应该放在请求包的那个部分来传递,怎样传递呢?/
      

  4.   

    根据http协议提交file类型,在http1.1信息头里也是把你要上传文件的路径带上,并附带是FIle类型,也是在服务器端再次下载的。比如Struts和servlet,提交上去之后也是得到输入流然后......你想想form表单提交的时候,file类型在服务器端是怎么处理的,也是再根据流循环读取的吧。你用HttpURLConnection也是要遵循http协议的吧
      

  5.   

    首先在请求头header中增加一个mutilpart分割串,然后增加post
    Content-Type: multipart/form-data; boundary=---------------------------7d83e1610035e这是头部
    Content-Length: 大小
    传送内容:
    -----------------------------7d83e1610035e
    Content-Disposition: form-data; name="file1"; filename="C:\tylesheet.css"
    Content-Type: text/plain
    //这里是内容
    //内容结束
    -----------------------------7d83e1610035e--