Struts1 文件上传(含poi)

来源:互联网 发布:淘宝站内营销手段 编辑:程序博客网 时间:2024/05/19 21:15

package action;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Calendar;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.upload.FormFile;

import service.LinkmanService;
import util.Page;
import util.XlsMain;
import dao.Linkman;

import actionForm.LinkmanForm;
import actionForm.UpfileForm;

public class UpfileAction  extendsDispatchAction{
 
 
  public ActionForward execute(ActionMappingmapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {
        UpfileForm upfileForm = (UpfileForm) form;
        LinkmanService manService=new LinkmanService();
        FormFile file = upfileForm.getFile();
        String fileName=file.getFileName();
        int n=fileName.lastIndexOf(".");
        String houzhui=fileName.substring(n+1);
        System.out.println("文件名为**********888:"+file.getFileName());
    InputStreamis = null;
    try{
     is= file.getInputStream();
     System.out.println("这里是第一个is:"+is);
    }catch (FileNotFoundException e) {
     //TODO Auto-generated catch block
     e.printStackTrace();
    }catch (IOException e) {
     //TODO Auto-generated catch block
     e.printStackTrace();
    }
   // 把文件上传到服务器

    FileOutputStreamfileOutput;
    Stringcurrentpath="";
    //创建文件存放目录
    Calendardate = Calendar.getInstance();
   int year =date.get(Calendar.YEAR);
   int mm =date.get(Calendar.MONTH)+1;
   String dir =year + "-" + mm; // 目录
   StringuploadFolder = request.getRealPath("zmtupian/" + dir + "/");
   //System.out.println("========导入时服务器路径:========"+uploadFolder);
   File folder =new File(uploadFolder);
   folder.mkdirs();
   currentpath=uploadFolder+"
\\"+file.getFileName();
        //System.out.println("currentpath当前路径为:"+currentpath);
        int n=currentpath.lastIndexOf(".");
        String houzhui=currentpath.substring(n+1);
        //System.out.println("文件类型为&&&&&&&&&&&&&:"+houzhui);
        if("xls".equals(houzhui)){
         
        try {
//            fileOutput = new FileOutputStream("G:\\" +file.getFileName());
            fileOutput = new FileOutputStream(currentpath);
            fileOutput.write(file.getFileData());
            fileOutput.flush();
            fileOutput.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
      

   XlsMain  xlsmain=new XlsMain();
   List<Linkman>list = null;
   try {
    list= xlsmain.readXls(is);//通过poi读取excel
   } catch(IOException e) {
    e.printStackTrace();
   }
   
   //增加到数据库中
    for (Linkmanman : list) {
    manService.addMan(man);
   }
   
    
            HttpSession  session=request.getSession();
    Objectpid = session.getAttribute("groupid");
    Stringgroupid = pid.toString();
    Pagepage = upfileForm.getPage();
    if(groupid == null || "".equals(groupid) || groupid.equals("0")){
     page= manService.queryNull(page);
    }else {
     page= manService.queryByGroup(groupid, page);
    }
    request.setAttribute("page",page);
    session.setAttribute("groupid",groupid);
    returnmapping.findForward("list.view");
    }


}

0 0
原创粉丝点击