我在web.xml里添加如下的配置,来过滤图片静态文件,如果出现404我怎么交给Spring来处理,也就是图片文件如果不存在,我就交给Spring来处理生成一个缩略图xmldefault/file/*
2 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
这种方式行不通,首先不能先通过Servlet处理,失败后再转交给Spring如果你把全部的/file/*都交给Servlet处理,那样即使404也无法通知到Spring如果通过mvc:resources这种方式其实也无法处理404,静态资源404后同样没有通过Spring进行错误处理不建议这样搞,如果真的是核心非常影响体验的业务,到一种可行但是比较挫的方法这部分文件路径直接通过Spring或者Servlet处理,接收到文件名后如果找不到该文件,返回默认文件。Spring实现@ResponseBody@RequestMapping(value="/file/{filename:.+}",method=RequestMethod.GET,produces=MediaType.IMAGE_JPEG_VALUE)publicbyte[]testPhoto(@PathVariable("filename")Stringfilename)throwsIOException{Filefile=newFile("/uploads/"+filename);if(!file.exists()){//不存在就走默认file=newFile("/uploads/default.jpg");}//下面的部分按自己想法实现byte[]bytes=newbyte[(int)file.length()];FileUtils.writeByteArrayToFile(file,bytes);returnbytes;}我已经尽力了,看有人有更好的办法没有
添加回答
举报
0/150
提交
取消
