Filter过滤器问题,大伙来看看
先说说情况,我的一个网站,因为很多壁纸,然后壁纸又要生成不同的分辩率,因为图片很多,不可能每一张都把所有分辩率都生成出来的,所以我就写了一个Filter过滤器,用户访问时就生成他所需要的分辩率,可是问题就在这里了,当用户访问一个不存在的图片时,我就在Filter里生成,然后重定向给用户,图片是生成了,可是用户访问还是404 ,然后刷新一下就正常了,请问这个怎么搞定。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
那怎么办呢,生成图片java不是强功啊,占用内存大,只能用其它的程序去生成的
java调用cmd命令是开启了一个新的进程的。你是有个返回结果,不能代表你的进程已经执行完毕!!
你的这个方法是在不可取。无法保证实时性。
引用来自#8楼“joliny”的帖子
那你还是别用cmd调用命令去生成了,还是用java代码直接生成吧。应为用cmd调用命令会产生一个新的进程,无法保证它的时间。也就会发生你现在的问题。
那你还是别用cmd调用命令去生成了,还是用java代码直接生成吧。因为用cmd调用命令会产生一个新的进程,无法保证它在你有效的时间内完成。也就会发生你现在的问题。
你这样的做法其实就是采用了异步的方式来生成图片了。你怎么可以要求它有实时的效果呢????
可以用jmagick调用imagemagick来生成图片。效率还是很高的。比起用java来生成图片要好很多。
引用来自#6楼“joliny”的帖子
你图片生成完了之后强行flush一次。
然后在看看,感觉是还没有写入到磁盘就开始通过webserver进行访问了。
你图片生成完了之后强行flush一次。
然后在看看,感觉是还没有写入到磁盘就开始通过webserver进行访问了。
我查看了一下,当我访问不存在的图片时,Filter就生成相关图片,用file检察文件生成成功了,可是自己打开文件夹看文件还没出来,好像要等下下文件才出来,所以重定向就是404,我就是不明白的是file可以检察到文件存在了,但是没出来,这是为什么
还是不行啊,大哥
每次访问不存在的图片,都要刷新一下才正常