我有一个带有两个输入的表单:一个字符串,一个文件。
<form:form ...>
<form:input type="text" ....>
<form:input type="file" ....>
</form:form>
如果字符串输入的验证失败,则控制器将路由回同一视图。发生这种情况时,将保留字符串字段,但选定的文件将丢失。
有没有办法在重新渲染视图时保留所选文件?
我认为答案是否定的 - 并且它是HTML文件输入的固有内容,而不是服务器端框架。询问是否有我遗失的事情。
答案 0 :(得分:6)
确实无法保留文件输入值。就像它在所有浏览器中实现一样。据我所知,它与潜在的安全风险有关,但我从未深入过。
虽然有可能实现类似的目标。这就是我们在项目中所做的:
这现在稳定工作,并且作为一个很好的副作用,控制器在某种程度上更容易,在我看来也更清晰,因为我们不再需要这些形式的多部分和另一个控制器只是处理上传。
编辑: - 您可能希望实现一个cronjob来清除已弃用的上传内容!