Java - 找不到HttpClient.executeMethod()

时间:2012-05-13 12:16:28

标签: java file-upload httpclient java-io

我正在尝试使用Apache的HTTP客户端和MultipartRequests上传文件,但它给了我一个错误,这是我的代码:

PostMethod filePost = new PostMethod("http://host/some_path");
Part[] parts = {
  new StringPart("param_name", "value"),
  new FilePart(f.getName(), f)
 };
filePost.setRequestEntity(
  new CountingMultipartRequestEntity(parts, filePost.getParams())
  );
HttpClient client = new DefaultHttpClient();
int status = client.executeMethod(filePost);

它说“找不到符号executeMethod()”。 这很奇怪,因为我的代码基于我在Internet上找到的示例,当我复制/粘贴代码时,它会显示错误!

2 个答案:

答案 0 :(得分:2)

您正在使用HtppClient 4.x(请参阅DefaultHttpClient),而示例代码基于HttpClient 3.x(请参阅HttpClient)。这些版本之间的API已完全更改。

只需在CLASSPATH中包含HttpClient 4并删除版本3.

答案 1 :(得分:0)

我认为您仔细检查过您使用的是这些样本的相同版本吗?也许this会有所帮助。