我创建了一个文件上传功能,可以将所有上传内容保存到某个地方:
private String destination = "D:/Documents/NetBeansProjects/FileUpload/uploadedDocuments/";
这是一个存放它的好地方吗?我应该将它存放在其他地方吗?
上传完成后是否有可能显示一个页面,向用户显示他们刚刚上传的内容,如下面显示预览的框?我该怎么做呢?我是新人。
我已经弄明白了如何显示普通的txt文件和图像,但是pdf令我感到困惑。
答案 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>
:
<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
方法会优雅地降级为链接。