用户上传的文件一般存储在哪里,例如mysql中的tinyblob(255b),blob(65k),mediumblob(16m),longblob(4g),存一个3M的文件,怎么存,直接存放在应用程序的根目录中可行吗?

解决方案 »

  1.   

    上传的文件不要放在应用的某个目录下,这样会导致一个结果,就是在应用重新部署以后, 
    上传的东西就没有了。 一般是建一个虚拟路径,把上传的文件放在虚拟路径所指的目录下。 比如,Web 应用的工程名为 WebQQ,那么在 Tomcat 的 server.xml 中 Host 节点中加上: 
    XML code<Context docBase="f:/web/WebQQ" path="/WebQQ/upload" />
    <Context docBase="WebQQ" path="/WebQQ" />这样就建了个 /WebQQ/upload 的虚拟路径,而这个路径不是放在 webapps 下的,而是放在 
    f:/web/WebQQ 目录中的,把上传的文件放在这个目录下,在浏览器中使用: http://localhost:8080/WebQQ/upload/xxxx.zip 就能访问这个虚拟路径里上传的资源了。 这样做的好处就是在 webapps/WebQQ 重新部署后,原来上传的资源不会被冲掉。