我正在寻找一种在RequestMapping调用之前执行某些操作的方法。为了更具描述性,我有一个文件上传控制器,如:Spring - 在Web请求完成之前执行并且RequestMapping get被触发
@Controller
@RequestMapping("/ul")
public class UploadController
{
@RequestMapping(value = "/{ticket}", method = RequestMethod.POST)
public String ul(ModelMap model, HttpServletResponse response, @PathVariable("ticket") String ticket)
{
...
到目前为止一切正常。我现在的问题是,我使用上传故障单来验证用户是否可以上传文件,并且这些故障单的使用期限有限,当用户上传一个非常大的文件或连接不良时,这将需要几分钟的时间无效并且上传丢失。
有什么办法可以实现某些东西来获得连接建立时的通知?就像URL被调用时一样,我可以直接验证票证,甚至可以关闭连接?
我已经尝试了一个拦截器,抽象控制器,commons multipart resolver与进度监听器,但所有这些都是为了延迟,并且当动作(文件传输)完成时触发事件。
感谢您的提示。我尝试了过滤方法,但在请求完成后触发“doFilter”事件。难道我做错了什么? –
我添加了一个UploadSecurity类来扩展WebSecurityConfigurerAdapter,并且在配置中我做了:http.antMatcher(“/ ul/**”)。addFilterBefore(new UploadFilter(),BasicAuthenticationFilter.class).sessionManagement()。sessionCreationPolicy(SessionCreationPolicy。总是); –