-
上传文件和图片tomcat停止之后文件也消失了10
//上传文件存放路径
private final static String UPLOADDIR = "/upload";
//上传文件集合
private List<File> file;
//上传文件名集合
private List<String> fileFileName;
//上传文件内容类型集合
private List<String> fileContentType;
public List<File> getFile() {
return file;
}
public void setFile(List<File> file) {
this.file = file;
}
public List<String> getFileFileName() {
return fileFileName;
}
public void setFileFileName(List<String> fileFileName) {
this.fileFileName = fileFileName;
}
public List<String> getFileContentType() {
return fileContentType;
}
public void setFileContentType(List<String> fileContentType) {
this.fileContentType = fileContentType;
}
public String execute() throws Exception {
for (int i = 0; i < file.size(); i++) {
//循环上传每个文件
uploadFile(i);
}
return "success";
}
//执行上传功能
private void uploadFile(int i) throws FileNotFoundException, IOException {
try {
InputStream in = new FileInputStream(file.get(i));
String dir = ServletActionContext.getRequest().getRealPath(UPLOADDIR);
File uploadFile = new File(dir, this.getFileFileName().get(i));
OutputStream out = new FileOutputStream(uploadFile);
byte[] buffer = new byte[1024 * 1024];
int length;
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}
in.close();
out.close();
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
上传文件和图片之后它并没有保存在项目中的upload文件中 然后是直接在tomcat中创建一个新的upload但是tomcat停止之后文件就会销毁怎么回事啊2012年3月17日 13:33
3个答案 按时间排序 按投票排序
-
1.
String tempPath = this.getClass().getResource("/").toURI().getPath(); File file = new File(tempPath + File.separator + "upload"+ File.separator); if (!file.exists() && !file.isDirectory()) { file.mkdirs(); }
这样就可以保存到你项目的class文件夹下,web-inf/class
2.记得out.flush();不然就可能出错文件没写到服务器里
while ((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } out.flush(); in.close(); out.close();
2012年3月18日 00:19
-
1、文件上传 FORM 要加入enctype="multipart/form-data" ACTION或SERVLET import org.apache.commons.fileupload.DiskFileUpload; import org.apache.commons.fileupload.FileItem; 基本方法如下: String temp=request.getSession().getServletContext().getRealPath("/")+"temp"; //临时目录 String loadpath=request.getSession().getServletContext().getRealPath("/")+"Image"; //上传文件存放目录 DiskFileUpload fu = new DiskFileUpload(); fu.setSizeMax(1*1024*1024); // 设置允许用户上传文件大小,单位:字节 fu.setSizeThreshold(4096); // 设置最多只允许在内存中存储的数据,单位:字节 fu.setRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录 //开始读取上传信息 int index=0; List fileItems = fu.parseRequest(request); Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件 while (iter.hasNext()) { FileItem item = (FileItem)iter.next();// 忽略其他不是文件域的所有表单信息 if (!item.isFormField()) { String name = item.getName();//获取上传文件名,包括路径 name=name.substring(name.lastIndexOf("\\")+1);//从全路径中提取文件名 long size = item.getSize(); if((name==null||name.equals("")) && size==0) continue; int point = name.indexOf("."); name=(new Date()).getTime()+name.substring(point,name.length())+index; index++; File fNew= new File(loadpath, name); item.write(fNew); } else //取出不是文件域的所有表单信息 { String fieldvalue = item.getString(); //如果包含中文应写为:(转为UTF-8编码) //String fieldvalue = new String(item.getString().getBytes(),"UTF-8"); } } PS:同FORM的其他输入信息也将被当做数据流传输 不能使用STRUTS的ACTIONFORM 不能使用过滤类 2、图片预览 function previewA() { var x = document.getElementById("signImage"); //singimage为FORM中已存在的IMAGE标签ID if(!x || !x.value) return; var patn = /\.jpg$|\.jpeg$|\.gif$/i; //正则表达式,判断所选文件是否图片 if(patn.test(x.value)) { var y = document.getElementById("sign"); //sing为FORM存在的FILE标签ID y.src = 'file://localhost/' + x.value; var img=document.getElementById('signImage'); img.setAttribute('width','120'); img.setAttribute('height','90'); } else { alert("您选择的似乎不是图像文件。"); }
2012年3月17日 14:52
相关推荐
### 上传WAR文件大小超过Tomcat 7最大文件限制报错 #### 背景介绍 在部署Web应用程序时,可能会遇到因WAR文件过大而无法正常部署的问题。具体表现为当WAR文件大小超过了Tomcat服务器配置的最大限制时,系统会拒绝...
用于web项目,将文件上传到tomcat服务器非项目文件目录下
在IT行业中,Tomcat作为一款广泛应用的开源Java Servlet容器,经常需要处理文件的上传、下载和删除等操作。本文将详细讲解如何在Tomcat环境中进行这些操作,以及解决可能出现的问题。 首先,我们要理解Tomcat在文件...
在IT行业中,Android和Tomcat之间的文件上传与数据交互是一个常见的需求,特别是在移动应用和服务器端数据处理的场景。在这个过程中,Android作为客户端,通过HTTP协议向运行在服务器上的Tomcat发送请求,实现文件的...
本文主要介绍了jsp解决文件上传后重启Tomcat时文件自动删除问题,包括问题分析和详细解决方法。该问题是指在jsp项目中上传文件后,重启Tomcat服务器或清理缓存时,上传的文件会自动删除的问题。 问题分析 在jsp...
以上就是使用Struts2和Tomcat实现文件上传下载的基本流程。实际开发中,还需要考虑文件大小限制、多文件上传、错误处理、安全问题(如防止路径遍历攻击)等。通过这个示例,你可以了解到Struts2框架如何与Tomcat配合...
以上就是关于“Tomcat上传下载文件”的知识点,包括了Struts2的文件上传处理、Servlet的文件下载实现以及相关的文件操作。在实际开发中,还需要考虑文件的安全性,例如防止上传恶意文件、限制上传文件大小、保护下载...
Nginx和tomcat上传文件大小限制修改,Ngnix和tomcat默认对上传文件大小有限制。
【描述】:“Tomcat、JDK以及Tomcat的一些配置文件,包括`server.xml`和Linux下使用`service`启动Tomcat的方法” Tomcat的运行离不开Java Development Kit(JDK),因为Tomcat需要JDK中的Java运行环境来解析和执行...
你也可以在Tomcat的配置文件`server.xml`中,调整`<Host>`或`<Context>`元素的`workDir`属性,指定一个临时文件的非默认位置,这样方便管理和清理。 总的来说,清理Java Tomcat的临时文件是优化服务器性能和维护的...
本项目名为"经典的文件上传客户端和Tomcat服务端",它涵盖了Android客户端和基于Java的Tomcat服务器之间的文件交互。这里我们将深入探讨相关知识点。 **Android 文件上传** 在Android平台上实现文件上传,主要涉及...
### 图片上传至Tomcat服务器知识点详解 #### 一、背景与目的 在现代Web应用开发过程中,上传图片是一项常见的需求。例如,在医疗系统中,医生的信息页面可能需要上传医生的照片。本文档将详细介绍如何使用Spring ...
提供的"Tomcat停止启动脚本"可能是一个整合了启动和停止功能的自定义脚本,它可以更方便地在一个步骤中完成启动和停止的操作。这种自定义脚本可能会包含错误检查、日志记录等功能,提高管理和监控的效率。 五、安全...
标题中的“tomcat+tomcat插件+servlet文件上传jar包”揭示了本文将要讨论的是如何在Tomcat服务器上实现文件上传功能,并且利用相关的Tomcat插件进行辅助开发。Tomcat是一款广泛使用的开源Java Servlet容器,它实现了...
标题中的"文件上传下载源代码和linux中tomcat发布包.rar"表明这是一个关于Java Web开发的资源包,其中包含了文件上传和下载的功能实现,并且可以在Linux环境下的Tomcat服务器上运行。这个压缩包可能是一个完整的项目...
- 在前端JSP页面中,可以通过如下方式引用这些图片文件: ```jsp ${photoList[0].bigPhotoPath}" width="772" height="579" data-index="0" alt="${tenement.tenementInfo}" title="${tenement.tenementInfo}"/> ...
3. Multipart/form-data:如果需要上传文件,通常采用Multipart/form-data编码,这样可以同时上传文本数据和二进制文件。Android的OkHttp库支持这种方式,通过RequestBody创建FormData。 4. 文件选择器:在Android...
标题 "Tomcat停止与启动shell" 指的是一个用于管理Tomcat服务器的脚本,通常这个`restart.sh`文件是用来自动化Tomcat服务的启动和停止操作的。Tomcat是Apache软件基金会的一个开源项目,是一个广泛使用的Java ...
标题 "nginx TOMCAT 文件下载 上传 进度条 缓存" 涉及到的是在Web服务器场景中,如何利用Nginx和Tomcat处理文件的下载、上传以及实现进度条显示和缓存优化的技术点。下面将详细介绍这些内容。 1. **Nginx与Tomcat的...
标题中的"TOMCAT文件上传控件"指的是在Tomcat服务器环境下用于处理文件上传的一种功能组件。在Web开发中,特别是Java Web应用中,文件上传是一个常见的需求,例如用户上传头像、提交附件等。传统的JSP SmartUpload是...