0

我正在使用 JDeveloper 11.1.2.3.0。我想获取文件的 URL 并将其用作另一个属性的输入。我使用了 inputFile 但我无法直接从那里获取 URL。

我必须构建一个 managedBean 吗?

任何人都可以帮助我了解如何做到这一点吗?

4

1 回答 1

0

如何获取上传文件的 URL

这不是它的工作方式。

当用户上传文件时,作为服务器的您将获得文件内容作为最重要的信息。您不会获得该文件的 URL,这没有意义(客户端不运行网络服务器左右)。最多您将获得文件名作为附加信息,并且在存在安全漏洞(例如 IE<10)的古老浏览器中,您还会获得完整的客户端磁盘文件系统路径,但这些信息对您来说完全没有价值。您最终会得到文件内容和文件名。

在检索到文件内容和文件名后,您应该自己将其保存在服务器的磁盘文件系统或 SQL 数据库中,具体取决于您所追求的可搜索性、可维护性和可移植性程度。如果您打算能够在客户端的另一个 HTTP 请求中返回这个上传的文件,那么您还应该确保该特定文件之后可以通过一个完整的 URL 获得。

有几种方法可以在之后通过 URL 使保存的上传文件可用您可以在存储上传文件的文件夹上创建一个虚拟主机或者,如果无法创建虚拟主机,或者当您打算对提供文件有更多控制权时,那么您可以创建一个自定义 servlet请注意,您绝对不应该将上传的图像存储在部署文件夹中getRealPath()

于 2013-06-05T11:05:31.207 回答