Struts的上传

文件上传很非常常用的功能,一般的思路都是要么将文件作为二进行数据存储到数据库中,当然这种不常用;还有就是将文件的名字存在数据库中,文件则存在硬盘上一个固定的文件中,这种比较常见,我就介绍比较常见的上传吧,为了简化,并没有将数据入库.

首先在index.jsp页面,写上

   <li>测试struts上传</li>
   <form action="upload.do"method="post" enctype="multipart/form-data">
                  标题:<inputtype="text" name="title"><br>
                  文件:<inputtype="file" name="myfile"><br>
                  <inputtype="submit" value="提交">
   </form>

说明:需要输入标题和选择文件.对于上传文件,method必须为post,enctype必须为multipart/form-data.action为upload.do,所以需要去xml文件中配置action.

Struts-config.xml页面

<form-beans>
<form-beanname="uploadform"type="com.lyl.struts.UploadActionForm"></form-bean>
</form-beans>

<action-mappings>
                <actionpath="/upload"
type="com.lyl.struts.UploadAction"
name="uploadform"
scope="request"
>
<forwardname="success"path="/uploadsuccess.jsp"></forward>
</action>
</action-mappings>

需要在xml配置,path为/upload,Action为UploadAction,ActionForm为UploadActionForm.成功之后会跳转到uploadsuccess.jsp页面.

根据jsp页面需要的标题和文件,建立ActionForm

public classUploadActionForm extends ActionForm {
privateString title;
//上传的文件必须采用FormFile声明
privateFormFile myfile;
publicString getTitle() {
returntitle;
}
publicvoid setTitle(String title) {
this.title= title;
}
publicFormFile getMyfile() {
returnmyfile;
}
publicvoid setMyfile(FormFile myfile) {
this.myfile= myfile;
}
}

然后就是, Action页面对于文件的处理,从ActionForm中获取标题和文件名,将文件放置到c盘下.最后跳转到成功页面.

public classUploadAction extends Action {

publicActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequestrequest, HttpServletResponse response)
throwsException {
UploadActionFormuaf = (UploadActionForm) form;
System.out.println("title="+uaf.getTitle());
System.out.println("fileName="+uaf.getMyfile().getFileName());
uaf.getMyfile().getFileData();

FileOutputStreamfos = new FileOutputStream("c:\\"+uaf.getMyfile().getFileName());
fos.write(uaf.getMyfile().getFileData());
fos.flush();
fos.close();
returnmapping.findForward("success");
}

}

uploadsuccess.jsp页面,就是显示一下上传成功的标题和文件名.

文件名称${uploadform.title } ${uploadform.myfile.fileName }
上传成功

运行效果:输入标题,选择文件

成功,提示上传成功.

在C盘目录下找到Noname2.txt.

整个上传就是这样,很简单.但是也是很实用的功能.

Struts的上传

时间: 2025-01-04 12:32:31

Struts的上传的相关文章

struts文件上传

如果在表单中上传文件,表单的enctype属性为multipart/form-data struts默认上传文件大小为2M,如果需要修改,在配置文件中设置 <constant name="struts.multipart.maxSize" value="31457280"/> jsp页面 <input type="file" name="file"/> action中属性 private File fi

struts文件上传(多文件)

第01步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

struts——文件上传

上传文件在一个系统当中是一个很常用的功能,也是一个比较重要的功能.今天我们就一起来学习一下Struts2如何上传文件. 今天讲的上传文件的方式有三种: 1,以字节为单位传输文件: 2,Struts2封装的一种方式: 3,以字符的方式传输文件. 其实这三种方式都差不 多,都是将文件先从客户端一临时文件的形式,传输到服务器的临时文件夹下,然后在将该临时文件复制到我们要上传的目录.另外,有一个需要注意,就是上传过 程中产生的这些临时文件,Struts2不会自动清理,所以我们需要手动清理临时文件,这一个

Struts文件上传的大小及类型的限制

前几天讲到struts文件上传,设置了fileUpload拦截器的参数以后,超过大小的文件被限制上传,但是类型不匹配的,却没有得到限制,今天有时间找了一下原因,发表一篇博文,请遇到问题的同学,参考一下: 在struts-default.xml中可以看到fileUpload的拦截器对应的类org.apache.struts2.interceptor.FileUploadInterceptor,查看源码会发现,类中的几个属性: protected Long maximumSize; protecte

Struts文件上传allowedTypes问题,烦人的“允许上传的文件类型”

Struts的文件上传问题,相信很多人都会使用allowedTypes参数来配置允许上传的文件类型,如下. [html] view plaincopy <param name="allowedTypes"> image/png,image/bmp,image/jpg </param> 但是,用过这个参数的人都知道,allowedTypes是“文件类型”, 而不是“文件后缀名”,文件类型与文件后缀名有什么区别呢? 就如后缀名为bmp的图片的文件类型为image/b

Struts文件上传下载

Struts配置文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts>

struts文件上传拦截器中参数的配置(maximumSize,allowedTypes ,allowedExtensions)问题

<interceptor-ref name="fileUpload"> <param name="allowedTypes">image/bmp,image/png,image/gif,image/jpeg,image/pjpeg</param> <!-- 图片不能大于5M --> <param name="maximumSize">5242880</param> </

struts文件上传(单文件)

第01步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

struts 文件上传下载

上传 1.编写上传action类 UploadAction.java 1 package jxf.b_upload; 2 3 import java.io.File; 4 import java.io.IOException; 5 6 import javax.servlet.http.HttpServletRequest; 7 8 import org.apache.commons.io.FileUtils; 9 import org.apache.struts2.ServletActionC