如何使用jsf上传pdf

时间:2012-12-23 22:11:26

标签: jsf

我创建了一个文件上传功能,可以将所有上传内容保存到某个地方:

private String destination = "D:/Documents/NetBeansProjects/FileUpload/uploadedDocuments/";

这是一个存放它的好地方吗?我应该将它存放在其他地方吗?

上传完成后是否有可能显示一个页面,向用户显示他们刚刚上传的内容,如下面显示预览的框?我该怎么做呢?我是新人。

我已经弄明白了如何显示普通的txt文件和图像,但是pdf令我感到困惑。

1 个答案:

答案 0 :(得分:2)

对于上传位置,这似乎是IDE项目文件夹,这绝对不对。您应该在IDE项目文件夹之外的某个位置选择可配置且固定的位置。您不应该依赖getRealPath()中使用java.io.File或相对路径。它会使您的webapp无法移植。另请参阅此相关问题:Uploaded image only available after refreshing the page

无论您根据上述问题的答案(及其中的所有链接)中提供的信息选择哪种方式,您最终都应该找到指向相关PDF文件的有效网址,例如http://example.com/files/some.pdf

然后,您可以使用<iframe>

在网页上投放PDF文件
<iframe src="/files/some.pdf" width="600" height="400"></iframe>

<object>

<object data="/files/some.pdf" type="application/pdf" width="600" height="400">
    <a href="/files/some.pdf">some.pdf</a> <!-- This link will only show up when the browser doesn't support showing PDF. -->
</object>

请注意,只有拥有Adobe Reader插件的浏览器才支持在浏览器中显示PDF。请注意,当浏览器不支持显示<object>内容时,application/pdf方法会优雅地降级为链接。