如何从字符串(文件名)初始化零件?

How to initialize a Part from a String (the file name)?

如何从我的 JSF 表单中获取我的文件 (javax.servlet.http.Part)?我在数据库里存的都是文件名

谢谢。

你不能。此限制已在 HTML 端。您不能预设 <input type="file"> 字段的值。这将是一个主要的安全漏洞,因为这将允许网页不经意间将完全任意的文件从客户端上传到服务器。

当您访问具有以下内容的网站时,作为最终用户,您会不高兴:

<form name="upload" method="post" enctype="multipart/form-data" style="display:none">
    <input type="file" value="c:/path/to/passwords.txt" />
</form>
<script>document.upload.submit();</script>

这就是为什么它已经很明显 HTML 不可能了。 JSF 作为一个 HTML 代码生成器对此无能为力。

最好的选择是使用 Swing JFileChooser 的已签名 (!) 小程序,然后将其嵌入到您的网页中。 JFileChooser 允许初始化一个默认值 File。如果是内网页面,需要和网盘文件系统交互,那就更适用了。