最后一个问题,为何我说,不要使用Jfinal默认提供的那个上传文件夹。 在平时的开发过程当中,我有一次使用了默认的上传文件夹,后台工程从新部署的时候,我upload文件夹竟然直接消失了。很奇怪对吧,其实后来我想过这个问题的缘由。其实很简单,就是在同步工程的时候,IDE中的项目回去覆盖咱们部署的在Tomcat文件夹下面的那个文件目录,在咱们IDE中没有upload这个文件夹,而Tomcat中正好有这么一个文件夹,那么就直接覆盖,因此就找不到了。那么你可能回想,我直接在IDE里面建一个upload不就完了么,好吧,假如你创建,那么你数据库中存放的是你的存储路径,没错,他可能会正常运行,可是你有没有考虑,你的项目名称在E盘,你的部署服务器没有E盘,而你正好设置了你上传文件根路径在E盘,那么上传确定会失败,由于物理上就没有可行性了!! 那么怎么作了?java
很简单,把你的上传文件根路径放在和你项目同一级别的文件夹中(切记是你Tomcat部署的那个),这样的话 无论理项目怎么更新编号,你的上传文件夹都不会被覆盖掉!!,举个例子: 个人项目均部署在”d:/tomcat/webapp/projectA”,那么个人上传文件根路径就应该设置为“d:/tomcat/webapp/upload”,与projectA同一级,可是有同在WebApp下面,这样文件就可以正常访问了。我刚刚所说的这种问题只会出如今开发阶段,在正式部署之后,因为没有IDE的从新部署,因此不会发生,可是为了可以让你在开发阶段也可以安逸的完成上传操做,个人建议就是我刚刚说的那个。固然你可能有更好的方法,也欢迎你提出来。web
再啰嗦一句。关于文件重命名的方法,就是你的文件名称要独一无二,防止冲突,其实这个已经不是什么大问题了,咱们刚刚说过,上传的文件已经被放在你设置好的目录下面了,因此,你要作的就是找到你的文件路径,而后为该文件重命名,这个我想说啥了 基础,这个不会的话,我建议你去恶补一下java的IO库。命名文件的方式有不少好比UUID,时间戳,年月日时分秒+随机数,之类之类的只要可以达成惟一性这个指标就好。数据库