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

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

hot3.png

1、概述

 092307_rdbC_2320342.png

2、文件上传

 093044_APrS_2320342.png

 093452_TRGN_2320342.jpg

 093711_rXcQ_2320342.png

 093940_r2bt_2320342.png

 094551_dKEM_2320342.png

 094747_oSTo_2320342.png

 095129_2GrA_2320342.png

 095405_rzAe_2320342.png

 100125_ggAI_2320342.png

 100519_g1uS_2320342.png

 101036_H9kh_2320342.png

singleUpload.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
Insert title here 
  
  
 

struts.xml

 
        
            
/singleSuccess.jsp
            

UploadAction:

package com.ljb.web.upload;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import org.apache.commons.io.IOUtils;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport { private File upload; private String uploadContentType; private String uploadFileName;   public File getUpload() {  return upload; } public void setUpload(File upload) {  this.upload = upload; } public String getUploadContentType() {  return uploadContentType; } public void setUploadContentType(String uploadContentType) {  this.uploadContentType = uploadContentType; } public String getUploadFileName() {  return uploadFileName; } public void setUploadFileName(String uploadFileName) {  this.uploadFileName = uploadFileName; } public String doUpload () throws IOException {  System.out.println(upload);  System.out.println(uploadContentType);  System.out.println(uploadFileName);  // 获取保存文件路径  String savePath = ServletActionContext.getServletContext().getRealPath("/upload/" + this.uploadFileName);  System.out.println(savePath);    FileInputStream fis = new FileInputStream(upload);  FileOutputStream fos = new FileOutputStream(savePath);  IOUtils.copy(fis, fos);    fos.flush();  fos.close();  fis.close();    return SUCCESS; }}

singleSuccess.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s" %><% String contextPath = request.getContextPath()+"/";%>
Insert title here 文件上传成功! 
<%=contextPath %>upload/
" />

115809_YNIU_2320342.png

 小结:

134609_NU97_2320342.png

 134759_aDg2_2320342.png

 3、限制文件上传大小

135144_sxzB_2320342.jpeg

 135444_mIs2_2320342.png

 第一种方式:(在struts中配置常量限制文件上传大小,默认2M)

第二种方式:设置拦截器参数

115024_6EFh_2320342.png

 115359_8iYN_2320342.jpeg

 115503_0L0J_2320342.png

4、上传多个文件

 115729_ht2e_2320342.png

 142509_5Q6Y_2320342.jpeg

 144518_iDL8_2320342.jpeg

 样例:

multieFileUpload.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%> 
 
Insert title here 
  function addFile () {   var btn = document.getElementById("btn");      var newChild = document.createElement("input");   newChild.setAttribute("type", "file");   newChild.setAttribute("name", "upload");      btn.parentNode.appendChild(newChild);   btn.parentNode.appendChild(document.createElement("br"));  }  
  
  
  
 

struts.xml

 
        
            
/singleSuccess.jsp
            
/error.jsp                
            
/multiSuccess.jsp
            

 mutipleFileUploadUsingListAction

package com.ljb.web.upload;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.List;import org.apache.commons.io.IOUtils;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class MutipleFileUploadUsingListAction extends ActionSupport { private List
 upload; private List
 uploadContentType; private List
 uploadFileName;  public String doUpload () throws IOException {  System.out.println(upload.get(0));    for (int i = 0 ; i < upload.size() ; i++) {   String savePath = ServletActionContext.getServletContext().getRealPath("/upload/" + this.uploadFileName.get(i));      FileInputStream fis = new FileInputStream(upload.get(i));   FileOutputStream fos = new FileOutputStream(savePath);   IOUtils.copy(fis, fos);   fos.flush();   fos.close();   fis.close();  }  return SUCCESS; } public List
 getUpload() {  return upload; } public void setUpload(List
 upload) {  this.upload = upload; } public List
 getUploadContentType() {  return uploadContentType; } public void setUploadContentType(List
 uploadContentType) {  this.uploadContentType = uploadContentType; } public List
 getUploadFileName() {  return uploadFileName; } public void setUploadFileName(List
 uploadFileName) {  this.uploadFileName = uploadFileName; }}

153843_5JPC_2320342.png

 154108_Mtix_2320342.png

转载于:https://my.oschina.net/u/2320342/blog/419924

你可能感兴趣的文章
大数据在云计算中转换的4个步骤
查看>>
云安全:信息安全风险长尾的终结者
查看>>
阿里巴巴CTO王坚:电视不会垮掉
查看>>
【小程序】微信小程序开发实践
查看>>
OpenStack 实现技术分解 (7) 通用库 — oslo_config
查看>>
2013年四起数据泄露事故的经验教训
查看>>
企业需要特别关注的11个BYOD风险
查看>>
JAVA通信编程(一)——串口通讯
查看>>
天翼杯大数据算法应用大赛
查看>>
我的2008
查看>>
2015年05月18日面试总结
查看>>
病毒纷纭 云安全曲线救网
查看>>
从与星瑞格软件的合作看浪潮深化主机生态布局
查看>>
中国人工智能学会通讯——当巧妇遇到“大米”——机器翻译启示录
查看>>
享未来就现在 聚VR一体机春天已经到来
查看>>
针对Android的Pegasus恶意软件版本和针对iOS的有什么不同?
查看>>
政府拥抱大数据 治理迎来新格局
查看>>
零件检测如何保证出色的质量 光切传感器成为理想替代方案
查看>>
“大声bb”–攻击Linux和FreeBSD的恶意软件
查看>>
绿盟科技发布2014互联网金融安全报告
查看>>