通过监听FileUploadEvent事件可以拦截附件上传进行处理。
适用于对附件进行查毒杀毒或加密等场景。
@ListenEvent(event = FileUploadEvent.class) public void onFileUpload(FileUploadEvent evt) throws Exception { // 取得上传的文件 FileItem fileItem = evt.getFileItem(); // doSth }
如果要终止上传,可以抛异常:throw new BusinessException,此时,上传被取消,前端提示错误,错误信息为异常的message。
如果要更改上传文件的内容,取得Event中的FileItem对象,调用setInputStream设置输入流,此时,保存到磁盘的文件被更改,上传成功。
如果想不终止上传,但给上传完毕要给客户端用户提示时,使用FileItem的appendMessage设置提示。