需要写一个from一个action和页面:
1.页面:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="gb2312"%>
<html>
<body>
<form action="<%=request.getContextPath()
%>/admin/HtmlFile.do" method="post" enctype="multipart/form-data"
name="HtmlFileForm">
<input type="file" name="file"
/>
<html:submit />
</form>
</body>
</html>
2.写文件Form
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
public class HtmlFileForm extends ActionForm {
private static final long serialVersionUID = -8008580023746850586L;
public HtmlFileForm() {
}
private FormFile file;
public FormFile getFile() {
return this.file;
}
public void setFile(FormFile file) {
this.file = file;
}
private String fname;
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
private String size;
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
}
3.写Action
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
public class HtmlFileAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String dir = servlet.getServletContext().getRealPath("/upload");
HtmlFileForm hff = (HtmlFileForm) form;
FormFile file = hff.getFile();
// if no file was uploaded,then display View
if (file == null) {
return mapping.findForward("fail");
}
// Get name and file size
String fname = file.getFileName();
String size = Integer.toString(file.getFileSize()) + "bytes";
InputStream streamIn = file.getInputStream();
OutputStream streamOut = new FileOutputStream(dir + "/" +
fname);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while((bytesRead = streamIn.read(buffer,0,8192))!=-1){
streamOut.write(buffer,0,bytesRead);
}
streamOut.close();
streamIn.close();
//
hff.setFname(fname);
//Clean up our toys when done playing
file.destroy();
//Forward to default display
request.setAttribute("inputfile", fname);
return mapping.findForward("success");
}
}
结束部署运行看看结果吧。
——————————————————————
用了struts1.2的jar包,如何添加jar包:如果用Eclipse可以在项目上右键直接从MyEclipse-->Add
struts .
如图
分享到:
相关推荐
本文将详细讲解如何利用JSP和Struts实现文件上传功能。 首先,我们要了解文件上传的基本概念。在Web应用中,文件上传是指用户通过浏览器选择本地文件并将其发送到服务器的过程。这个过程通常涉及到HTML表单、...
这个名为“Struts/JSP可上传、预览服务器端文件”的组件就是为了解决这一需求而设计的。 1. **Struts框架**: Struts是一个基于MVC(Model-View-Controller)架构模式的开源Java Web框架,由Apache软件基金会维护...
// 保存文件到服务器,或其他操作 return SUCCESS; } } ``` 在JSP页面上,你需要使用`s:form`标签来创建一个表单,指定`enctype="multipart/form-data"`以支持文件上传: ```jsp 选择文件"/> 上传"/> ``` ...
本篇将详细介绍如何利用Struts组件实现文件上传至服务器的过程。 一、Struts文件上传概述 Struts框架提供了`org.apache.struts.upload`包,专门处理文件上传功能。它基于Commons FileUpload库,该库是Apache的一个...
本篇文章将详细讲解如何利用Struts2.2和Hibernate3.6实现文件的上传与动态下载。 **一、文件上传** 1. **环境配置**:首先,你需要一个集成开发环境,例如MyEclipse8.6,并安装所需的Struts2.21、JUnit4.8.2以及...
利用struts组件完成上传到服务器。自由设定目录和文件类型,稍加修改添加到项目里面.把"备份上传Ex7_7.jsp"替换掉“Ex7_7.jsp”。前提是事先在tomcat目录建好upload文件夹
本篇文章将详细讲解如何利用Struts2框架来实现头像上传功能。 首先,我们需要在Struts2配置文件(struts.xml)中添加相关的action配置,以便处理文件上传请求。一个基本的配置可能如下所示: ```xml ...
在这个“Struts2实现文件上传”的主题中,我们将深入探讨如何利用Struts2框架来实现在Web应用中的文件上传功能。 首先,我们注意到一个细节描述:“private String uploadContextType;应更正为private String ...
在这个“Struts1实现文件上传源码”实例中,我们将深入探讨如何利用Struts1框架来处理文件上传操作。 在Web应用中,文件上传功能是非常常见的,比如用户上传头像、提交文档等。Struts1提供了ActionForm类和一系列...
4. **API使用**:在JSP或Servlet中,可以通过jspsmart提供的API来获取上传文件的信息,如文件名、文件大小、文件类型等,并将文件保存到服务器指定的目录。 5. **错误处理**:在文件上传过程中可能出现各种异常,如...
在本篇文章中,我们将深入探讨如何利用Struts2实现批量文件上传,以及涉及的相关技术与最佳实践。 首先,我们需要了解Struts2的核心概念——`Interceptor(拦截器)`,这是Struts2处理请求的核心组件,用于在Action...
9. **安全性考虑**:在实际应用中,纯JSP上传文件可能不够安全,因为它不提供诸如验证文件类型、大小限制、防止重复上传等功能。使用成熟的库如Apache Commons FileUpload可以简化这些任务,并提供额外的安全保障。 ...
要实现多个文件的同时上传,我们需要利用一些额外的工具或库来扩展Struts1的功能。 在描述中提到的"jquery multi"可能是指jQuery的某个插件,用于实现前端的多文件选择和预览,例如`jQuery Multi File Uploader`或`...
在Struts2中,文件上传和下载是常见的功能需求,主要用于处理用户通过表单提交的文件,或者允许用户从服务器下载文件。这些功能极大地增强了Web应用的交互性和实用性。 在Struts2中实现文件上传,主要涉及到以下几...
3. **表单设计**:在JSP页面上,使用`<s:form>`标签创建一个文件上传表单,添加`enctype="multipart/form-data"`属性来支持文件上传。使用`<s:file>`标签让用户选择要上传的文件。 4. **Hibernate文件存储**:在...
对于更复杂的需求,可以利用Struts2的拦截器和插件来扩展功能,或者考虑使用其他专门处理文件上传的库,如Spring MVC的`MultipartFile`。理解源码有助于你更好地掌握Struts2的工作原理,从而在遇到问题时能更高效地...
在本系统中,"struts框架写的文件上传下载系统"是利用Struts框架来实现文件的上传和下载功能,提供了一个平台让用户能够注册成为会员后进行文件操作。 首先,让我们深入理解Struts框架的核心概念: 1. **模型...
本实例可能包含了处理文件上传表单、存储上传文件到服务器、以及生成下载链接的代码示例。 最后,登录功能是任何需要用户认证的应用程序的重要部分。在Struts2中,可以创建一个专门的登录Action,处理用户的登录...