使用JSF从tomcat文件夹下载pdf文件

时间:2013-06-19 16:03:16

标签: java jsf jsf-2 download liferay-6

您好我正试图通过这种方式实现pdf文件下载功能。

/ * test.xhtml * /

<p:commandButton   actionListener="#{backingBean.download}" update=":form"/>

/ BackingBean.java /

public Class BackkingBean implements serializable{
@ManagedBean
@ViewScoped

public void download(){
String uri = "http://173.24.57.274:8080/ROOT/html/xml/Test new_02.pdf";
URL url = new URL(uri);
File destination = new File("C:/Documents and Settings/microsoft/My Documents/Downloads/sample.pdf");
FileUtils.copyURLToFile(url, destination);
}

}

但是当我点击下载按钮时,我收到以下错误。

  

引起:java.io.IOException:服务器返回HTTP响应代码:   505 for URL:http://173.24.57.274:8080/ROOT/html/xml/Test new_02.pdf

我已经找到了一些有关此错误的stackoverflow帖子,但没有找到适合我的任何解决方案。

我缺少什么?如何克服这个问题。

1 个答案:

答案 0 :(得分:0)

您应该尝试对URL值进行编码。如果我正确窥探,PDF文件的名称中似乎有一个Space值。即“Test new_02.pdf”。 使用URLEncoder对URL进行编码可以消除URL中“特殊字符”的问题,最好在java应用程序中对URL进行编码

查看http://docs.oracle.com/javase/6/docs/api/java/net/URLEncoder.html

仔细阅读文档,了解如何编码空格字符。