博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2实现简单文件上传
阅读量:6826 次
发布时间:2019-06-26

本文共 1652 字,大约阅读时间需要 5 分钟。

struts2 在内部已经帮我们做了很多封装的工作,我们只需要简单的写一些配置即可。

1 表单页面

注意:要记住input type=file 的 name属性值,后台会用到

 

2 FileUploadAction 类来处理文件上传,将上传来的文件存放到upload 文件夹里

public class FileUploadAction extends ActionSupport {    private File   filesrc;    private String filesrcFileName;    private String filesrcContentType;        public File getFilesrc() {        return filesrc;    }    public void setFilesrc(File filesrc) {        this.filesrc = filesrc;    }    public String getFilesrcFileName() {        return filesrcFileName;    }    public void setFilesrcFileName(String filesrcFileName) {        this.filesrcFileName = filesrcFileName;    }    public String getFilesrcContentType() {        return filesrcContentType;    }    public void setFilesrcContentType(String filesrcContentType) {        this.filesrcContentType = filesrcContentType;    }        public String uploadFile(){        String path = ServletActionContext.getServletContext().getRealPath("/upload");        File destFile = new File(path, filesrcFileName);        try {            FileUtils.copyFile(filesrc, destFile);        } catch (IOException e) {            e.printStackTrace();            throw new RuntimeException(e);        }                return SUCCESS;    }    }

注意:所有与上传文件有关的域变量命名规则开始要使用 form 表单中的name属性值。比如要有一个文件对象,就是filesrc,如果想知道文件名,就是:filesrcFileName,其中后面的FileName是固定的。至此就可以将文件存放到upload文件夹中。

当然此处没有设置文件大小、类型等判断。

 

3 action的配置,和一般的action配置相同。就不写了。可以参考之前的博文。

 

4 使用配置文件设置上传文件类型,上传文件大小。修改配置文件struts.xml,主要的类:FileUploadInterceptor,要使用的拦截器是:fileUploadStack

   
text,xml
1024

 

转载地址:http://izrzl.baihongyu.com/

你可能感兴趣的文章
怎么把iphoneX手机备忘录同步到OPPOFindX手机中
查看>>
使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)
查看>>
手把手教你在Mac中搭建iOS的 React Native环境
查看>>
蚂蚁金服副CTO胡喜ATEC上宣布:蚂蚁金服技术全面开放
查看>>
重读算法导论之算法基础
查看>>
《Linux命令行与shell脚本编程大全》第九章 安装软件程序
查看>>
PHP+MySQL实现对一段时间内每天数据统计优化操作实例
查看>>
openlayers3 pointermove onmousemove 显示feature信息
查看>>
一天学习使用maven
查看>>
盘点9月阿里云云计算基础产品开通新地域详情
查看>>
【python进阶】Garbage collection垃圾回收1
查看>>
详谈分布式系统缓存的设计细节
查看>>
C语言-typedef的用法
查看>>
Golang源码探索(二) 协程的实现原理
查看>>
课程目标
查看>>
记一次使用Ubuntu 14.04 LTS搭建FBctf平台
查看>>
领英准备好成为下一个媒体巨人了吗?
查看>>
head first python(第二章)–学习笔记
查看>>
grunt和前端模块管理工具的简单使用
查看>>
linux - command - iftop 磁盘IO查看神器
查看>>