我正在使用JDeveloper 11.1.2.3.0。我想获取文件的URL并将其用作另一个属性的输入。我使用inputFile但我无法直接从那里获取URL。
我是否必须构建一个managedBean?
任何人都可以帮我解释如何做到这一点吗?
答案 0 :(得分:0)
如何获取上传文件的网址
这不是它的工作原理。
当用户上传文件时,您作为服务器将获得文件内容作为最重要的信息。您将不会获得该文件的URL,这没有意义(客户端不运行Web服务器等)。最多您将获得文件名作为附加信息,并且在具有安全性错误的古老浏览器中(例如IE< 10)也是完整的客户端磁盘文件系统路径but this information is completely worthless to you。您最终会得到文件内容和文件名。
检索文件内容和文件名you are supposed to save it yourself in the server's disk file system或SQL数据库后,取决于您所追求的可搜索程度,可维护性和可移植性。如果您打算能够在客户端的另一个HTTP请求上重新提供此上载文件,那么您还应该确保特定文件随后由完整的URL提供。
There are several ways to make a saved uploaded file available by an URL afterwards。 You could create a virtual host on the folder where you're storing the uploaded files。 Or if creating a virtual host is not possible, or when you intend to have a bit more control over serving the file, then you could create a custom servlet。 Note that you should absolutely not be storing uploaded images in deploy folder with help of getRealPath()