1、直接上例子,前台jsp如下,这个例子是多文件上传
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<center>
<font color='red'><s:fielderror></s:fielderror></font>
<form action="${pageContext.request.contextPath}/upload_up.action"
method="post" enctype="multipart/form-data">
<input type="file" name="img" /> <br/>
<input type="file" name="img" /> <br/>
测试普通参数:<input type="text" name="userid"> <br/>
<input type="submit" value="上传"/>
</form>
</center>
</body>
</html>
2、这是action代码
public class UploadAction extends ActionSupport {
private File[] img;
private String userid;
private String[] imgFileName;
private String[] imgContentType;
public File[] getImg() {
return img;
}
public void setImg(File[] img) {
this.img = img;
}
public String[] getImgFileName() {
return imgFileName;
}
public void setImgFileName(String[] imgFileName) {
this.imgFileName = imgFileName;
}
public String[] getImgContentType() {
return imgContentType;
}
public void setImgContentType(String[] imgContentType) {
this.imgContentType = imgContentType;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String up() {
for (int i = 0; i < img.length; i++) {
InputStream is = null;
OutputStream os = null;
try {
is = new FileInputStream(img[i]);
String realPath = ServletActionContext.getServletContext()
.getRealPath("/upload")
+ "/";
String fileName = new IPTimeStamp()
.getIPTimeStamp(ServletActionContext.getRequest()
.getRemoteAddr());
fileName += imgFileName[i].substring(imgFileName[i].lastIndexOf("."));
os = new FileOutputStream(new File(realPath + fileName));
// 边读边写
byte[] data = new byte[1024];
int length = 0;
while ((length = is.read(data)) != -1) {
os.write(data, 0, length);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (os != null) {
try {
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println(imgContentType[i]);
}
}
return null;
}
}
多文件上传这里为file数组private File[] img;
而且需要添加这两个属性,private String[] img
FileName;
private String[] img
ContentType;注意属性的名字为xxxFileName和xxxContentType形式,这样就可以通过
imgFileName[i].substring(imgFileName[i].lastIndexOf("."))形式得到后缀名了。
分享到:
相关推荐
创建一个名为`UploadAction`的类,该类需要继承`org.apache.struts2.actions.FileUploadAction`,并在其中定义一个`List<File>`类型的属性,用于接收上传的文件。 ```java public class UploadAction extends ...
在本场景中,我们关注的是如何使用Struts2来实现图片上传并显示的功能,同时生成缩略图。 首先,我们需要在Struts2配置文件(通常为struts.xml)中定义一个Action类,该类负责处理图片上传请求。这个Action类应该有...
通过这样的方式,CKEditor和Struts2可以协同工作,为用户提供一个便捷的图片上传和编辑体验。在实际开发过程中,可能还需要根据具体需求进行调整和优化,例如增加图片裁剪、缩放功能,或者实现图片的预览和管理界面...
本案例涉及的是将xheditor富文本编辑器与Struts2框架整合,实现图片上传功能。xheditor是一款强大的JavaScript在线编辑器,提供了丰富的文本编辑功能,而Struts2是一个流行的Java Web框架,用于构建MVC(模型-视图-...
在图片上传的场景中,Struts2提供Action类来接收用户上传的图片文件,同时可以通过配置Struts2的配置文件(struts.xml)来定义Action的映射路径和处理方法,使得前端请求能够正确地路由到后端的处理逻辑。...
本项目主要介绍如何通过注解的方式实现Struts2的图片上传功能,这是一个非常实用的功能,尤其对于构建交互性强的Web应用来说。在本文中,我们将深入探讨Struts2的注解使用、图片上传流程以及相关的Java配置。 1. **...
本主题涉及的是如何在Struts2中处理图片上传,并在上传后对其进行压缩,生成一张小图片以便在网页上展示。以下是实现这一功能所需的关键知识点: 1. **Struts2上传组件**: Struts2提供了`struts2-convention-...
在"struts2上传图片"这个场景下,我们将深入探讨如何在Struts2框架下实现用户上传图片的功能,并关注网站统计访问量以及防止重复提交的问题。 首先,上传图片是Web应用中常见的功能,它涉及到前端表单设计、后端...
在本项目中,我们关注的是Struts2中的图片上传功能,以及如何处理图片的大小和格式问题。这个压缩包包含了实现这些功能所需的jar文件和其他资源,例如TestUpload_Struts2项目。 首先,图片上传是Web应用中常见的...
在本教程中,我们将深入探讨如何利用Struts2实现单个图片的上传功能,无需JavaScript的额外开发。 首先,我们需要理解图片上传的基本流程。用户通过浏览器选择一张图片,然后该图片的文件数据被发送到服务器。...
在本案例中,我们探讨的是如何利用Struts2框架处理文件上传,并将上传的图片以BLOB(Binary Large Object)类型存储在数据库中,同时提供下载功能。Hibernate则是一个对象关系映射(ORM)框架,它简化了数据库操作,...
在"struts2上传图片到Oracle"这个场景中,我们将探讨如何使用Struts2框架实现文件上传,以及如何将这些上传的图片存储到Oracle数据库中。 首先,让我们了解文件上传的基本流程。在Struts2中,我们通常会创建一个...
在Struts2中实现Ajax图片上传功能,可以帮助用户在不刷新整个页面的情况下提交图片,提高用户体验。Ajax技术利用JavaScript的XMLHttpRequest对象与服务器进行异步数据交换,使得网页部分更新成为可能。 首先,我们...
本文将深入探讨如何使用Struts框架实现图片上传功能,这在许多Web应用中都是一个常见且重要的需求。 ### Struts框架简介 Struts是一个开源的框架,用于创建企业级的Java Web应用。它基于Servlet和JSP技术,并遵循...
在本例中,我们将探讨如何结合Struts2和jQuery实现图片的同步上传功能。 首先,让我们分析`upload.jsp`页面。这个页面是用户与应用交互的界面,它包含了一个Struts2的表单(`<s:form>`),用于文件上传。表单的属性...
在这个场景中,我们讨论的是如何在Struts2中实现图片和文件的批量上传,并且在上传过程中显示进度条。 批量上传是指用户可以一次性选择多个文件进行上传,而不仅仅是一个文件。这通常需要前端界面支持多选文件的...
在Struts2框架中,实现图片上传并生成等比例缩略图是一项常见的需求,尤其在构建Web应用时。本实例将向你展示如何利用Struts2的FileUpload拦截器处理图片上传,并通过Java图像处理库如Java AWT或Apache Commons ...
Struts2.0图片上传是Web开发中常见的一项功能,涉及到的主要知识点包括Struts2框架、文件上传处理、IO流操作以及配置文件的设定。在本文中,我们将深入探讨这些内容,帮助你理解和实现Struts2.0环境下的图片上传功能...
在Struts2中处理文件上传是一项常见的任务,尤其是上传图片并展示它们。本篇将详细介绍如何在Struts2中实现绝对路径上传图片以及在页面上显示这些图片。 首先,了解文件上传的基本概念。在Web开发中,文件上传允许...
在"struts2上传下载+前端剪切图片"这个主题中,我们将探讨Struts2框架如何处理文件上传和下载功能,以及如何在前端实现图片的剪切操作。 **文件上传**: 在Struts2中,文件上传主要依赖于Apache的Commons ...