Struts2的上传功能还是很强大的,它可以自动拦截上传文件的相关信息……

首先需要2个必要的jar包commons-fileupload-1.2.*.jar,commons-io-1.3.*.jar及Struts2其它包。

其它也很简单,主要是Action的处理类,如下:

public String upload() {

// 判断上传文件是否为空

if (null != fileUpload) {

// ServletActionContext.getRequest().getRealPath("/");

//String path= ServletActionContext.getRequest().getRealPath("/");//此方法已过时,建议使用                                     //下面方法

String path = ServletActionContext.getServletContext().getRealPath("/");

File temp = new File(path + "/upload");

// 判断存储文件的文件夹是否存在,不存在则创建

if (!temp.exists()) {

temp.mkdirs();

}

// 获取后缀名

String tempName = fileUploadFileName.substring(fileUploadFileName

.lastIndexOf("."));

// 给上传文件重命名

File dest = new File(temp, "1" + tempName);

copyFile(fileUpload, dest);

ActionContext ctx = ActionContext.getContext();

HttpServletRequest request = (HttpServletRequest) ctx

.get(ServletActionContext.HTTP_REQUEST);

request.setAttribute("img", "1" + tempName);

}

return SUCCESS;

}

/** 文件拷贝缓冲功能 */

public void copyFile(File src, File dest) {

// 字节输入输出流

BufferedInputStream bis = null;

BufferedOutputStream bos = null;

// 定义文件上传的字节数组

byte[] b = new byte[8192];

try {

bis = new BufferedInputStream(new FileInputStream(src));

bos = new BufferedOutputStream(new FileOutputStream(dest));

for (int count = 0; (count = bis.read(b)) != -1;) {

bos.write(b, 0, count);

}

bos.flush();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (bis != null) {

try {

bis.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (bos != null) {

try {

bos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

上传文件,上传文件,用Struts2处理,轻而易举……相关推荐

  1. Struts2文件上传方式与上传失败解决方式

    首先将几个对象弄出来 第一个 上传页面 第二个 上传action 第三个 startut2配置文件 我的文字描述不是很好,但是终归是自己写出来的,后来我在网上看到一篇关于文件上传描述的非常清楚的文章, ...

  2. struts2的文件上传和文件下载

    实现使用Struts2文件上传和文件下载: 注意点: (1)对应表单的file1和私有成员变量的名称必须一致 <input type="file" name="fi ...

  3. struts2文件上传大小限制问题小结(引用)

    最后解决办法: 页面js控制上传文件的大小,在页面进行控制.如下代码 inputs是所有文本上传input DOM //名称信息var nameStr='';//大小信息var sizeStr=''; ...

  4. Struts2 单个文件上传/多文件上传

    1导入struts2-blank.war所有jar包:\struts-2.3.4\apps\struts2-blank.war 单个文件上传 upload.jsp <s:form action= ...

  5. struts2.0实现文件上传

    首先,引入jar包.除了 Struts2.0的几个核心jar包外,还需要额外引入commons-fileupload.jar和commons-io.jar. 引入这两个包的时候,似乎版本也是一个比较重 ...

  6. Struts2学习8--文件上传(多个文件上传)

    用数组很简单.struts2的类型转换还是很强啊. JSP: 1 <s:form action="doUploadByArray" method="post&quo ...

  7. struts2之单个文件上传

    通过2种方式模拟单个文件上传,效果如下所示 开发步骤如下: 1.新建一个web工程,导入struts2上传文件所需jar,如下图 目录结构 2.新建Action 第一种方式 package com.l ...

  8. Struts2 - 上传任意多个文件

    Struts2 - 上传任意多个文件 一.上传单个文件 在Struts1.x中已经提供了用于上传文件的组件.而在Struts2中提供了一个更为 容易操作的上传文件组件.所不同的是,Struts1.x的 ...

  9. struts2文件上传一个错误的解决

    struts2文件上传一个错误的解决 在做struts2的多文件上传时,选择了几个比较大的文件,点击"提交"后,画面没有提示说文件太大,而是清空了各个表单项,查看控制台显示如下错误 ...

  10. struts2教程--实现文件上传下载

    Struts2文件上传下载 一.Struts2文件上传 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容 fileUpload拦截 ...

最新文章

  1. Effective Java实作toString() - 就是爱Java
  2. char *a 与 char a[] 的区别
  3. Apache Dubbo 高危漏洞通告
  4. [jquery]if条件句
  5. cfiledialog指定位置和大小_位置度(True Position)中外解读2021(图文+视频)
  6. tps协议和onvif协议_做监控的你,应该了解的ONVIF协议!
  7. 关于oracle sql语句查询时表名和字段名要加双引号的问题详解
  8. 1002.ubuntu系统级BUG-/dev/ttyUSB0
  9. CSDN Blog首页新增栏目和二级页面通告
  10. qtscrcpy自定义按键_操作更简单的QtScrcpy
  11. 整理:国内主流云计算方案比较
  12. 组装台式计算机的部件,组装台式电脑各配件的简单介绍
  13. R语言爬虫 电影票房-艺恩网
  14. 百度BAE的一些使用心得
  15. Linux文件权限与目录配置
  16. java.sql.SQLException: org.gjt.mm.mysql.Driver
  17. ubuntu更新镜像源
  18. ios申请企业开发者账号的代理_2020年苹果ios企业开发者账号的申请流程攻略(最专业详细)...
  19. Android之Canvas画笔和画布
  20. Const用法总结:Const,Const函数,Const变量,函数后面的Const (转)

热门文章

  1. 怎样做好教学直播app开发
  2. 帮我写一个微积分计算程序
  3. Lwip 之代码分析
  4. 【爬虫实战】python爬取中国最好大学排行榜
  5. Keras:Lambda 层
  6. 魅族MX adb调试
  7. 华清星创客学员承载梦想嗨翻青春
  8. emoji for php demo,纯微信小程序 emoji解析组件
  9. 07_搭建管理系统页面
  10. 统计学习方法03—朴素贝叶斯算法