我的应用程序中有一个要求说。我需要从磁盘获取文件的内容并将其发送到某个外部URL,并希望确认外部URL是否获得了内容。
在我的应用程序中,用户可以选择一个文档并说出查看器,以便它显示所选的文件转换版本。对于该文件的转换,我需要将所选文件发送到.Net应用程序URL,该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();
}
答案 0 :(得分:1)
如果我理解正确,外部URL上的服务器应该转换您正在上传的文件并返回该文件的转换版本。因此,此转换版本将包含在服务器响应的正文中。 因此仅仅检查状态是不够的,但你必须自己得到响应。
您可以使用 client.execute()
代替client.executeMethod()
来实现这一目标:
HttpResponse response = client.execute(filePost);
InputStream is = response.getEntity().getContent();
现在,您可以从输入流is
读取已转换的数据,然后按照您的喜好继续(例如保存到磁盘等)