最近在做上传图片、文件模块时,遇到一些问题,先总结如下:

  1. 上传文件目录的问题:

    (1)request.getSession().getServletContext().getRealPath("");得到的是tomcat安装目录webapp下,对应工程的根目录。而此种方式在部署tomcat时,其上传的文件容易被覆盖丢失。

    (2)为了避免上面的情况,我们可以在web.xml中指定目录,  

    <context-param>

     <param-name>fileupload</param-name>

     <param-value>E:/fileupload/</param-value>

     </context-param>

    在servlet中可以通过如下来获取位置:filepath=this.getServletConfig().getServletContext().getInitParameter("fileupload");

    (3)在tomcat下建立虚拟虚拟目录:

      修改server.xml,</Host>标签上一行添加<Context path="/realty" docBase="E:\realty" />

2.上传图片为中文文件名时,浏览器端编码出现错误,不能读取问题:

    在tomcat的server.xml文件下指定一下编码即可

    <ConnectorconnectionTimeout="20000" port="8080"protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>