1:struts上传
jsp:
<form action="fileup.do" method="post" enctype="multipart/form-data" >
标题:<input type="text" name="title" /><br>
文件:<input type="file" name="upfile" /><br>
<input type="submit" value="上传" >
</form>
注意FormBean用FormFile
可以在struts.config.xml中去配置上传的一些参数 , 配置如下
<controller maxFileSize="1M" ></controller>
更多相关配置可以在dtd文件中去查找 ,另外如何处理上传中的中文问题,因为文件上传要求是post方式,
所以可以用filter来处理post方式的中文编码问题
实例如下:
编写fileUp.jsp
<body>
<form action="fileup.do" method="post" enctype="multipart/form-data" >
标题:<input type="text" name="title" /><br>
文件:<input type="file" name="upfile" /><br>
<input type="submit" value="上传" >
</form>
</body>
由FileUpAction 处理:
package com.cs.action;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
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 com.cs.formbean.FileUpActionForm;
public class FileUpAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
FileUpActionForm fuaf = (FileUpActionForm)form ;
System.out.println(fuaf.getTitle()) ;
System.out.println(fuaf.getUpfile().getFileName() + " " + fuaf.getUpfile().getFileSize());
//上传的文件存入资源目录下
File file = new File("d:\\"+fuaf.getUpfile().getFileName()) ;
InputStream is = fuaf.getUpfile().getInputStream() ;
FileOutputStream fos = new FileOutputStream(file) ;
byte[] buf = new byte[1024] ;
int b = - 1 ;
while( (b = is.read(buf)) != -1 ){
fos.write(buf) ;
fos.flush() ;
}
is.close() ;
fos.close() ;
return mapping.findForward("success");
}
}
请求过来的参数由FileUpActionForm 接收
package com.cs.formbean;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
public class FileUpActionForm extends ActionForm {
private String title ;
private FormFile upfile ; //上传的文件都封装在了这个类中
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public FormFile getUpfile() {
return upfile;
}
public void setUpfile(FormFile upfile) {
this.upfile = upfile;
}
@Override
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
//可以在此判断文件的后缀名,用来阻挡不合格的上传文件
return super.validate(mapping, request);
}
}
分享到:
相关推荐
struts上传文件(图片/附件),希望对初学struts的同学们有帮助。如果有事么不足,请大家多指教。
本项目以"ajax Struts 上传文件"为主题,通过Ajax调用Struts的Action来实现文件的无刷新上传。 无刷新上传文件是一种用户友好的功能,它允许用户在不重新加载整个网页的情况下上传文件,极大地提高了交互性。在这个...
总结来说,这个"EasyUI和Struts上传文件的例子"涉及到的技术点包括:Struts2框架的Action配置与文件处理,EasyUI的表单和进度条组件,多部分表单数据处理,以及JRE1.7的文件操作API。通过这个示例,开发者可以学习...
在"struts上传文件及下载"的主题中,我们将深入探讨如何使用Struts2实现文件的上传与下载功能,以及如何将上传的文件存储到数据库并从数据库中检索用于下载。 1. **文件上传** - **Action配置**:首先,你需要创建...
Struts框架通过解析这个格式化的请求,可以获取到上传文件的信息。 1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便...
`FileInfo`是自定义的类,包含`File`对象和`String`对象,分别表示上传文件的实际内容和文件名。 1. **配置Struts2的文件上传** 在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`...
以下是对“Struts上传文件”这一主题的详细讲解。 1. **Struts 2文件上传组件**: Struts 2 提供了 `org.apache.struts2.components.File` 组件来处理文件上传。这个组件可以与表单元素结合,使用户能够选择要上传...
struts上传文件.doc
在上述代码中,我们限制了最大上传文件大小为5MB,并将文件保存到了服务器的一个特定目录。为了防止路径遍历攻击,应使用相对路径或者绝对路径,并确保路径安全。 最后,前端页面(例如upload.jsp)需要包含一个...
文件上传是Web应用程序中常见的功能之一,允许用户上传文件到服务器,例如图片、文档或其他数据。Struts 提供了处理文件上传的能力,使得开发者可以轻松实现这一功能。 在Struts中,文件上传主要依赖于Apache ...
2. 创建上传文件的JSP页面。 3. 编写Action类,使用Apache Commons FileUpload处理文件。 4. 验证和保存上传的文件。 5. 显示上传结果。 通过这种方式,你可以构建一个灵活且易于维护的文件上传系统。记住,文件...
1. **配置Struts2**: 首先,需要在struts.xml配置文件中启用文件上传插件,并设置最大上传文件大小。 ```xml <constant name="struts.multipart.maxSize" value="10485760"></constant> <!-- 10MB --> ...
在本文中,我们将深入探讨如何在Struts中实现文件上传,并结合`SetCharacterEncodingFilter.java`这个文件名,讨论字符编码的重要性。 首先,文件上传在Web应用中是一个常见的需求,例如用户可能需要上传头像、简历...
3. 文件存储位置:确保上传文件存储在安全目录下,避免用户访问到其他敏感文件。 4. 下载安全:对于下载,应避免直接暴露文件路径,使用动态生成的文件名,防止恶意用户猜测其他文件地址。 四、优化策略 1. 断点...
配置文件中可以指定上传文件的存储路径,例如在struts-config.xml中定义一个action-mapping,设置其`parameter`属性为文件上传的目录。为了更好地管理上传的文件,可以考虑创建多级目录结构,如按照日期或用户ID来...
文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`<input type="file">`元素,用户可以选择本地文件。Struts2的Action类会接收这个文件,并使用`Commons ...
struts2上传文件的进度条显示,绝对可用! 所达到效果 1.显示总文件大小 2.显示已上传文件大小 3.显示当前进度(百分比控制) 4.显示剩余上传时间 5.显示当前速度 (本人研究了很久才搞出来的,希望大家指教...
以上代码中,我们获取了上传文件的临时路径,验证了文件大小和类型,然后将其保存到服务器的指定位置。注意,实际操作中还需要处理可能出现的异常,以及进行必要的安全检查。 总结一下,使用 Struts 实现文件上传...