繁体   English   中英

Spring 3 MVC文件上传和表单验证,不会丢失文件

[英]Spring 3 MVC File Upload and Form Validation without losing the file

Spring 3和JSP是否有一个小框架,允许对包含普通字段和文件上载的表单进行服务器端表单验证,这可以“拒绝”请求而不会丢失上传的文件?

更详细:我有一个HTML表单,其中包含正常输入字段和文件上载字段。 此表单的验证是在服务器端完成的(在客户端进行复杂操作)。 如果表单数据正确,则没有问题。 但是用户发送无效表单然后我需要再次显示表单,用户更正输入并再次发送表单。 除了用户需要再次输入(和上传)文件这一事实之外,这种方法很好 - 解决方案通常很简单:我需要将文件存储在服务器端,然后如果用户再次发送更正的数据,则使用此已上载的文件。 - 但即使它不是那么复杂,也需要做很多工作,而且我不想重新发明轮子。

所以我的问题是,是否有任何实现此功能的小框架,我可以将其添加到我的应用程序中?

目前我使用:Spring 3.0,JSP,Dojo

您真正需要做的就是保存文件并将其与会话相关联,而不是依赖自动或注入的验证来拒绝请求,而不允许您先保存文件 - 程序验证。 使用某种关联将文件保存到会话(或者用户,例如,如果使用Spring Security),以便将来可以在将来的请求中使用。

但是:所需的解决方案要求您建立一些文件的脱机清理。 我有一个类似的情况,一个进程创建一个(永久)“临时”表。 创建表时,我启动了一个使用@Async注释的表监视程序进程,该进程循环并使线程休眠一小时,检查该表是否仍然存在(在联机进程结束时将其删除)。 如果表在一小时后仍然存在,则异步线程将删除它并退出。 在您的情况下,您需要建立1)检查用户是否已完成该过程的内容,以及2)检查它的时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM