1

我的应用程序中有一个要求说。我需要从磁盘获取文件的内容并将其发送到某个外部 URL,并想确认外部 URL 是否获得了内容。

在我的应用程序中,用户可以选择一个文档并说查看器,以便它显示选定的文件转换版本。对于该文件的转换,我需要将选定的文件发送到 .Net 应用程序 URL,它将在 3D 建模文件中转换它并在我的浏览器上显示响应。

这是我用来首先发送文件的代码。

try{
  File f = new File("/home/Desktop/rename.txt");
  PostMethod filePost = new PostMethod("external URL");
  Part[] parts = { new FilePart("file", f) };
  filePost.setRequestEntity(new MultipartRequestEntity(parts,
  filePost.getParams()));
  HttpClient client = new HttpClient();
  int status = client.executeMethod(filePost);
  System.out.println(status);
}catch(Exception e){
  e.printStackTrace();
}
4

1 回答 1

1

如果我理解正确,外部 URL 上的服务器应该转换您上传的文件并返回文件的转换版本。因此,这个转换后的版本将包含在服务器响应的正文中。因此,仅检查状态是不够的,您必须自己获取响应。

您可以通过使用client.execute()而不是client.executeMethod()这样来实现这一点:

HttpResponse response = client.execute(filePost);
InputStream is = response.getEntity().getContent();

现在您可以从输入流中读取转换后的数据is并按照您的意愿继续操作(例如,保存到磁盘等)

于 2013-08-23T10:42:31.773 回答