文件上传时,上传到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>

 

时间: 2024-10-27 06:06:40

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

Myeclipse中文件已经上传到服务器目录下,文件也没有被占用,但是页面中无法读取和使用问题的解决方法

这个问题是由于Myeclipse中文件不同步引起的.在Myeclipse中,工程文件是由Myeclipse自动扫描添加的,如果在外部修改了工程目录中的文件但又关闭了自动刷新功能,则会引起文件不同步.此外,在外部没有修改Myeclipse工程中的文件也有可能引起该问题. 解决方法: 有两种解决方法: 1)手动刷新.即在Myeclipse的工程目录中,右键refresh(或者按下F5). 2)配置Myeclipse的选项: a)Myeclipse启动时,刷新workspace,即勾选:window-

Linux下使用shell实现上传linux下某个目录下所有文件到ftp

首先我们需要搞清楚单个文件怎么上传,把这个单文件上传到ftp上的实现命名为一个:upload_to_ftp_command.sh 之后,需要弄清楚怎么实现遍历一个目录下的所有文件的,把这个遍历某个目录下的文件实现命名为:foeach_directory_and_uploadfile_to_ftp.sh. upload_to_ftp_command.sh #!/bin/bash FTILE_NAME=$1 ftp -n <<- EOF open 100.170.141.26 user jy ne

FlashFXP链接到服务器上,如果www目录下的文件隐藏

FlashFXP链接到服务器上,如果www目录下的文件隐藏,那么请按照如下设置,就可以显示隐藏的文件了 [站点]->[站点管理器]->选项,然后按照如下设置: FlashFXP链接到服务器上,如果www目录下的文件隐藏

Asp.net 4.0,首次请求目录下的文件时响应很慢

原文:Asp.net 4.0,首次请求目录下的文件时响应很慢 1. 问题起因2. 尝试过的处理思路3. 解决方法 1. 问题起因 一个从VS2003(.Net Framework 1.1)升级到.net framework 4.0的项目,每次编译或者部署到服务器上后,首次请求任何一个目录下的默认页面时,都要耗时3~5秒:而以前使用.net framework 1.1的时候,没有这个问题. 我在页面上开启Trace="true"来跟踪,发现页面的处理时间并不久(IIS重启,首次打开页面时

java利用WatchService实时监控某个目录下的文件变化并按行解析(注:附源代码)

首先说下需求:通过ftp上传约定格式的文件到服务器指定目录下,应用程序能实时监控该目录下文件变化,如果上传的文件格式符合要求,将将按照每一行读取解析再写入到数据库,解析完之后再将文件改名. 一. 一开始的思路 设置一个定时任务,每隔一分钟读取下指定目录下的文件变化,如果有满足格式的文件,就进行解析. 这种方式很繁琐,而且效率低,效率都消耗在了遍历.保存状态.对比状态上了! 而且无法利用OS的很多功能. 二. WatchService介绍 1. 该类的对象就是操作系统原生的文件系统监控器!我们都知

判断目录下的文件是否为图片

ASP.NET MVC应用程序的UploadFiles目录,是存放用户上传的文件,当然包括图片.现在开发的要求是,显示所有用户上传图片作为列表,呈现给用户. 如果直接去显示,也许某些文件不是图片文件.还有可能是用户上传时,更改了扩展名.真实不是图片的,改为了图片相关的扩展名.即是说,现在要做的是过滤出真正的图片文件出来. 在应用程序的Utilities目录中,创建一个ImageUtility的类别: 有两个函数,第一个public static string Base64String(strin

php实现目录下的文件读取功能

<?php //这里实现 某个文件下的所有图片,并列出来! header("Content-type:text/html;charset=utf8"); $handle=opendir('.'); echo "目录 handle: $handle\n"; echo "档案:\n"; while ($file = readdir($handle)) { if(@eregi("[_\.0-9a-z-]+[\.]+gif$",

socket实现两台FTP服务器指定目录下的文件转移(不依赖第三方jar包)

通过socket实现两台FTP服务器指定目录下的文件转移,其中包含了基础了ftp文件列表显示.上传和下载.这里仅供学习用,需掌握的点有socket.ftp命令.文件流读取转换等 完整代码如下: FtpFileTransfer.java package com.xxx.ftp.client; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io

多目录下多文件 makefile编写

前面已经分享了单目录项下多文件的makefile的编写,现在来看看多目录下多文件makefile的编写: 在做项目时,一般文件都会分几个目录来存放:基本的是  include/  bin/ src/ obj/ lib/ tools/,这几个文件:我先说下我的文件存放目录,用ls -R可以查看到所有文件:./include/common.h    ./src/main.c    ./src/printStatus.c  就三个文件,其中*.c 文件都依赖于 *.h文件: 同样的先上第一版makef