文件上传时,上传到webapps目录下的文件会自动删除

Posted 人民广图

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件上传时,上传到webapps目录下的文件会自动删除相关的知识,希望对你有一定的参考价值。

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>

 

 

以上是关于文件上传时,上传到webapps目录下的文件会自动删除的主要内容,如果未能解决你的问题,请参考以下文章

自动将 Azure Webapp wwwroot 目录备份到 azure blob 存储

Tomcat从弱口令到后台上传大马

分布式文件系统之FastDFS

eclipse中每次重新启动服务,运行环境下的文件夹或者文件被还原

文件上传的路径

ftp上传的文件为0kb怎么办