需要导入的JAR包commons-httpclient-3.1.jar,commons-codec-1.3.jar,commons-logging.jar,commons-fileupload-1.0.jar
模拟客户端
public
class
httpclient {
private
static
String url
=
"
http://localhost:9000/httpclient/servlet/httpserver
"
;
public
static
void
main(String[] args)
throws
IOException { HttpClient client = new HttpClient();
PostMethod filePost = new PostMethod(http://abc);
// 连接最大超时时间 client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
File file = new File("c:/ddd.txt");
Part[] parts = { new StringPart("param_name", "value"),new FilePart("datafile", file) };
filePost.setRequestEntity(new MultipartRequestEntity(parts,filePost.getParams()));
int statusCode = client.executeMethod(filePost);
filePost.releaseConnection();
} }
模拟服务器端
public
class
httpserver
extends
HttpServlet {
public
void
doPost(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
try
{ DiskFileUpload uploadFile
=
new
DiskFileUpload(); uploadFile.setRepositoryPath(
"
d:/
"
); List items
=
null
; items
=
uploadFile.parseRequest(request); Iterator iterator
=
items.iterator(); String saveFile
=
""
;
while
(iterator.hasNext()) { FileItem item
=
(FileItem) iterator.next(); String fieldName
=
item.getFieldName(); String fieldValue
=
""
;
if
(fieldName.equals(
"
datafile
"
)) { fieldValue
=
item.getName();
if
(fieldValue.length()
>
0
&&
!
fieldValue.equals(
""
)) { saveFile
=
new
Date().getTime()
+
"
.txt
"
; } File upload_File
=
new
File(saveFile); item.write(upload_File); } } }
catch
(Exception ex) { } } }