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

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

 

今天在群里看到一个朋友问struts2怎么实现文件上传,平时都只是在页面传值过来,还真没有实现过图片上传呢,于是我研究了研究,下面请看操作

实现文件上传必须导入的jar包commons-fileupload-1.2.2.jar  还有个commons-io-2.0.1.jar  这个jar文件主要是用里面的一个FileUtils类,看完之后就知道它的作用了。

web.xml的配置一样,这里不阐述了。

struts.xml内容:

struts.xml
1 
2 5 6
7
8
9
10
/sucess.jsp
11
/error.jsp
12
13
14

form表单内容:

Form表单内容
1     
2
3
4

关键的是UploadAction类的内容,请看代码:

UploadAction
1 import java.io.File;  2 import java.io.IOException;  3  4 import org.apache.commons.io.FileUtils;  5 import org.apache.struts2.ServletActionContext;  6  7 public class UploadAction {
8 private File image; 9 private String imageFileName; 10 11 public File getImage() {
12 return image; 13 } 14 15 public void setImage(File image) {
16 this.image = image; 17 } 18 19 public String getImageFileName() {
20 return imageFileName; 21 } 22 23 public void setImageFileName(String imageFileName) {
24 this.imageFileName = imageFileName; 25 } 26 27 public String upload() {
28 String realpath = ServletActionContext.getServletContext().getRealPath( 29 "/image"); 30 File file = new File(new File(realpath),imageFileName); 31 if (!file.getParentFile().exists()) 32 file.getParentFile().mkdirs(); 33 try {
34 FileUtils.copyFile(image, file); 35 36 return "sucess"; 37 } catch (IOException e) {
38 e.printStackTrace(); 39 return "error"; 40 } 41 } 42 43 }

有几点要说明

private File image;

private String imageFileName;

image和表单提交过来的name一定要相同, imageFileName是获取传过来的文件名

FileUtils.copyFile(image, file); 就是将临时区的图片复制到指定的目录下,这样就实现了文件上传。

如果是多文件上传,改成

 private File[] image;

 private String[] imageFileName;

 form表单里面的file input的name都改成image即可。

转载于:https://www.cnblogs.com/Laupaul/archive/2012/03/14/2396219.html

你可能感兴趣的文章
第8次作业
查看>>
白日焰火,虽然绚烂,但也短暂。
查看>>
找不到regionserver的问题总结
查看>>
设计模式开篇综述(Java)
查看>>
Java基础——集合(持续更新中)
查看>>
《五》包装流
查看>>
CUDA 关于 BLOCK数目与Thread数目设置
查看>>
Ubuntu 安装java环境搭建
查看>>
vSphere、Hyper-V与XenServer 你选哪个?
查看>>
关于oracle的备份 导入
查看>>
1.网络工具:ifconfig,ping,netstate,Redhat命令和图形化设置ip,finger,nslookup
查看>>
docker 中国站 www.dockerpool.com 报价图片下载
查看>>
java的System.getProperty()方法能够获取的值
查看>>
提高班的“伞”
查看>>
python进阶七_文件操作(二)
查看>>
CentOS Docker 安装
查看>>
VMware-Ubuntu16.04LTS-安装ssh
查看>>
Linux命令之vi篇
查看>>
Linux之整理bash命令类型
查看>>
mysql学习1
查看>>