1:文件上传时,上传到webapps目录下的文件会自动删除的原因?
tomcat目录下的webapps 文件夹是部署目录,当重新部署服务,上传的文件不在部署文件的范畴内,即此时开发工具中没有上传的文件,所以上传的文件就没有了。
2:解决方法
把文件上传路径设置到webapps目录之外,可以在Tomcat目录下建立一个文件夹,如:upload
3:简单实现
html文件:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="../jsp/smartupload.jsp" method="post" enctype="multipart/form-data"><input type="file" name="file"/> <input type="submit" value="提交"/> </form> </body> </html>
jsp文件:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.jspsmart.upload.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% SmartUpload smart=new SmartUpload(); smart.initialize(pageContext); smart.upload(); //将文件上传到项目目录下,重新部署后会自动消失 //smart.save(request.getSession().getServletContext().getRealPath("/")+"/upload"); //通过绝对路径将文件上传到Tomcat目录下的upload文件夹内,则重新部署后不会消失 smart.save("D:\\software\\learningsoftware\\tomcat\\apache-tomcat-7.0.72\\upload"); %> </body> </html>
时间: 2024-10-27 06:06:40