客户端关闭web页面后,怎么在服务器端删除客户提交的文件

客户端关闭web页面后,怎么在服务器端删除客户提交的文件,第1张

有多种解决方案:
1、在客户端关闭页面时,通过onunload事件,向服务器发送一个get请求,然后服务器就去删除;
2、服务器启动一个检测线程,隔段时间检查一下,session状态,将无效的session找出,删除相关文件
3、服务器端每天指定时间去删除,因为一般很少有人连续请求服务器超过一天时间
根据你的需要,用不同的方式,个人认为第一种实现和理解起来简单。
<body onunload="alert('客户端准备关闭了')">
</body>
在onunload事件中写form名submit(),这个form名代表提交请求的表单,它的action指向删除文件的servlet

1:选择文件菜单——点击帐户设置下拉列表——选择帐户设置
2:选择邮箱帐户,单击更改。
3:单击其他设置
4:选择高级
取消勾选在服务器上保留邮件的副本,确定。

import javaioFile;
import orgapachelog4jLogger;public class ClearTempImg { private static final Logger logger = LoggergetLogger(ClearTempImgclass);
private final static String FS = SystemgetProperty("fileseparator");
private static String TOMCAT_HOME = SystemgetProperty("catalinahome");
private static String PATH = "temp";
private static final String TEMP_PATH = TOMCAT_HOME + FS + PATH + FS;
private static boolean isRunning = false;

/
说明:由于用户查询报表后非正常退出,JfreeChart产生的将存留在tomcat/temp/文件夹
删除tomcat/temp/文件夹下面的无效的文件

/
public void run() {

if (!isRunning) {

loggerdebug("删除/Tomcat/Temp/目录下过期执行开始");

isRunning = true;

loggerdebug("开始执行删除tomcat下temp文件夹png文件任务");

loggerdebug("要删除文件所在路径为" + TEMP_PATH);

File fileTemp = new File(TEMP_PATH);

// 判断文件是否存在
boolean falg = false;

falg = fileTempexists();

if (falg) {

loggerdebug("temp文件存在");

if (true == fileTempisDirectory()) {

loggerdebug("temp文件是个目录");

String[] png = fileTemplist();

for (int i = 0; i < pnglength; i++) {

if (true == png[i]endsWith("png")) {

File file = new File(TEMP_PATH + FS + png[i]);

if (true==fileisFile()) {

boolean flag = false;
flag = filedelete();

if (flag) {
loggerdebug("成功删除无效文件:" + filegetName());
}
}
}
}
} } else {
loggerdebug("未找到tomcat/temp文件夹,执行失败,请手动删除temp下所有png文件");
}
isRunning = false;

loggerdebug("删除/Tomcat/Temp/目录下过期执行结束"); } }
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13412566.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-31
下一篇 2023-07-31

发表评论

登录后才能评论

评论列表(0条)

保存