尝试使用java中的HTTPClient将文件发布到服务器时出错:

尝试使用java中的HTTPClient将文件发布到服务器时出错:,java,php,apache,Java,Php,Apache,我有一个apache服务器,我只是想用java将一个文件上传到服务器上。当我尝试使用html脚本时,这很好。然而,当我使用java时,这段代码不起作用,我不知道为什么。我是php的初学者。我已经在服务器的/var/www/html目录中发布了我的java代码、php文件以及运行此代码时收到的输出 这是我的java代码: HttpClient httpclient = new DefaultHttpClient(); httpclient.getParams().setParameter(Core

我有一个apache服务器,我只是想用java将一个文件上传到服务器上。当我尝试使用html脚本时,这很好。然而,当我使用java时,这段代码不起作用,我不知道为什么。我是php的初学者。我已经在服务器的/var/www/html目录中发布了我的java代码、php文件以及运行此代码时收到的输出

这是我的java代码:

HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);

HttpPost httppost = new HttpPost("http://www.example.com//upload.php");
File file = new File("TEST.txt");

//MultipartEntity mpEntity = new MultipartEntity();
//ContentBody cbFile = new FileBody(file, "text/plain");
//mpEntity.addPart("file", cbFile);

FileEntity entity = new FileEntity(file, ContentType.create("text/plain", "UTF-8"));

httppost.setEntity(entity);
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();

System.out.println(response.getStatusLine());
if (resEntity != null) {
  System.out.println(EntityUtils.toString(resEntity));
}
if (resEntity != null) {
  resEntity.consumeContent();
}

httpclient.getConnectionManager().shutdown();
} }

这是我的upload.php文件:


如果您收到“对不起,文件已经存在”。这是因为文件已经存在……因此,请删除它,然后重试。“对不起,只允许使用TXT文件。”您是否考虑了大小写?一个文件可能是
.txt
,另一个文件可能是
.txt
等。该文件不存在。我不知道什么是帐户资本化。我尝试使用一个html页面,该页面将输入作为txt文件,并将其上载到同一服务器。这是完美的工作。然而,我不能让它与java一起工作。根据您的代码,您得到了正确的输出。echo
$imageFileType
以获取代码的确切内容