`

struts上传文件

阅读更多

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上传文件(图片/附件),希望对初学struts的同学们有帮助。如果有事么不足,请大家多指教。

    ajax Struts 上传文件

    本项目以"ajax Struts 上传文件"为主题,通过Ajax调用Struts的Action来实现文件的无刷新上传。 无刷新上传文件是一种用户友好的功能,它允许用户在不重新加载整个网页的情况下上传文件,极大地提高了交互性。在这个...

    EasyUI和Struts上传文件的例子

    总结来说,这个"EasyUI和Struts上传文件的例子"涉及到的技术点包括:Struts2框架的Action配置与文件处理,EasyUI的表单和进度条组件,多部分表单数据处理,以及JRE1.7的文件操作API。通过这个示例,开发者可以学习...

    struts上传文件及下载

    在"struts上传文件及下载"的主题中,我们将深入探讨如何使用Struts2实现文件的上传与下载功能,以及如何将上传的文件存储到数据库并从数据库中检索用于下载。 1. **文件上传** - **Action配置**:首先,你需要创建...

    JavaEE Struts文件上传

    Struts框架通过解析这个格式化的请求,可以获取到上传文件的信息。 1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便...

    struts2实现文件上传下载

    `FileInfo`是自定义的类,包含`File`对象和`String`对象,分别表示上传文件的实际内容和文件名。 1. **配置Struts2的文件上传** 在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`...

    Struts上传文件

    以下是对“Struts上传文件”这一主题的详细讲解。 1. **Struts 2文件上传组件**: Struts 2 提供了 `org.apache.struts2.components.File` 组件来处理文件上传。这个组件可以与表单元素结合,使用户能够选择要上传...

    struts上传文件.doc

    struts上传文件.doc

    Struts上传文件实现代码

    在上述代码中,我们限制了最大上传文件大小为5MB,并将文件保存到了服务器的一个特定目录。为了防止路径遍历攻击,应使用相对路径或者绝对路径,并确保路径安全。 最后,前端页面(例如upload.jsp)需要包含一个...

    struts 上传文件

    文件上传是Web应用程序中常见的功能之一,允许用户上传文件到服务器,例如图片、文档或其他数据。Struts 提供了处理文件上传的能力,使得开发者可以轻松实现这一功能。 在Struts中,文件上传主要依赖于Apache ...

    jsp+struts文件上传

    2. 创建上传文件的JSP页面。 3. 编写Action类,使用Apache Commons FileUpload处理文件。 4. 验证和保存上传的文件。 5. 显示上传结果。 通过这种方式,你可以构建一个灵活且易于维护的文件上传系统。记住,文件...

    struts实现文件上传功能

    1. **配置Struts2**: 首先,需要在struts.xml配置文件中启用文件上传插件,并设置最大上传文件大小。 ```xml &lt;constant name="struts.multipart.maxSize" value="10485760"&gt;&lt;/constant&gt; &lt;!-- 10MB --&gt; ...

    使用struts上传文件

    在本文中,我们将深入探讨如何在Struts中实现文件上传,并结合`SetCharacterEncodingFilter.java`这个文件名,讨论字符编码的重要性。 首先,文件上传在Web应用中是一个常见的需求,例如用户可能需要上传头像、简历...

    struts框架-文件上传下载

    3. 文件存储位置:确保上传文件存储在安全目录下,避免用户访问到其他敏感文件。 4. 下载安全:对于下载,应避免直接暴露文件路径,使用动态生成的文件名,防止恶意用户猜测其他文件地址。 四、优化策略 1. 断点...

    struts1的文件上传

    配置文件中可以指定上传文件的存储路径,例如在struts-config.xml中定义一个action-mapping,设置其`parameter`属性为文件上传的目录。为了更好地管理上传的文件,可以考虑创建多级目录结构,如按照日期或用户ID来...

    struts2文件上传下载源代码

    文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`&lt;input type="file"&gt;`元素,用户可以选择本地文件。Struts2的Action类会接收这个文件,并使用`Commons ...

    struts2上传文件进度条显示

    struts2上传文件的进度条显示,绝对可用! 所达到效果 1.显示总文件大小 2.显示已上传文件大小 3.显示当前进度(百分比控制) 4.显示剩余上传时间 5.显示当前速度 (本人研究了很久才搞出来的,希望大家指教...

    出血推荐-使用Struts上传文件

    以上代码中,我们获取了上传文件的临时路径,验证了文件大小和类型,然后将其保存到服务器的指定位置。注意,实际操作中还需要处理可能出现的异常,以及进行必要的安全检查。 总结一下,使用 Struts 实现文件上传...

Global site tag (gtag.js) - Google Analytics