上传文件,上传文件,用Struts2处理,轻而易举……
2011-01-12 12:38
405 查看
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上传文件后 return SUCCESS失败的处理方法!
- struts2中多文件上传的处理
- struts2上传文件过大问题的处理
- struts2处理上传文件路径问题
- Struts2中处理文件上传
- Struts2文件上传,以及上传拦截异常国际化处理
- 处理 Struts2 框架上传的文件(转http://xinkong1010.javaeye.com/blog/654623)
- (Struts2学习篇) Struts2文件处理之文件上传
- 手工处理 Struts2 框架上传的文件
- ajax上传文件struts2后台接收处理
- struts2文件上传修改为cos框架处理一系列事情
- struts2 使用ajaxfileupload.js上传文件,处理返回是总是进入Error函数
- 手工处理 Struts2 框架上传的文件
- 2011级-csdn-java-张侃—struts2文件上传错误信息国际化的处理(案例)
- Struts2-day03 文件上传, json格式 , 处理ajax请求 , 注解开发
- 解决 struts2上传的excel2007文件,在用poi处理时通过new XSSFWorkbook(inputStream)出错
- springMVC高级部分(数据校验,数据错误回显(自定义格式错误显示),拦截器,异常处理,文件上传,文件下载,springmvc运行流程以及springmvc和struts2对比)
- struts2 action接收文件上传数据处理
- struts2处理上传文件路径问题
- Struts2文件上传,以及上传拦截异常国际化处理