| 发表于:2008-01-16 11:55:533楼 得分:0 |
/* * generated by myeclipse struts * template path: templates/java/javaclass.vtl */ package com.struts.action; import java.io.file; import java.io.fileoutputstream; import java.io.ioexception; import java.io.inputstream; import java.io.outputstream; import java.io.printwriter; import java.sql.connection; import java.sql.sqlexception; import java.text.simpledateformat; import java.util.date; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import javax.servlet.http.httpsession; import javax.sql.datasource; import org.apache.struts.action.action; import org.apache.struts.action.actionform; import org.apache.struts.action.actionforward; import org.apache.struts.action.actionmapping; import org.apache.struts.action.actionmessage; import org.apache.struts.action.actionmessages; import org.apache.struts.upload.formfile; import com.struts.form.uploadfileform; import com.struts.dao.filedao; /** * myeclipse struts creation date: 01-16-2008 * * xdoclet definition: * * @struts.action path="/uploadfile" name="uploadfileform" input="/seeload.jsp" * scope="request" validate="true" */ public class uploadfileaction extends action { /* * generated methods */ /** * method EXECute * * @param mapping * @param form * @param request * @param response * @return actionforward */ public actionforward EXECute(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) { string encoding = request.getcharacterencoding(); if((encoding != null)&&(encoding.equalsignorecase("utf-8"))){ response.setcontenttype("text/html;charset=gb2312");// 如果没有指定编码,编码格式为gb2312 } uploadfileform uploadfileform = (uploadfileform) form; formfile filename = uploadfileform.getfilename(); string memo = uploadfileform.getmemo(); datasource ds = null; connection conn = null; httpsession session = null; try{ ds = getdatasource(request,"a"); conn = ds.getconnection(); filedao sqldao = new filedao(conn); string action = request.getparameter("action"); actionmessages errors = new actionmessages(); // 增加文件 if(action.equals("addfile")){ // 传递文件 if(filename.getfilename().trim().length()> 0){ // 取得上传时间 simpledateformat dateformat1 = new simpledateformat("yyy-mm-dd"); date dt = new date(); string uptime = dateformat1.format(dt); string tempname=""; try{ // 开始上传文件 string filepath = this.getservlet().getservletcontext().getrealpath("/");// 取得当前路径 inputstream stream = filename.getinputstream();// 把文件读入 // 建立一个上传文件的输入流如果是linux系统请把"\"换成"/" system.out.println(filename.getfilename()); int position = filename.getfilename().indexof("."); string type = filename.getfilename().substring(position); string fileid = sqldao.getmaxfileid(); tempname = fileid + type; outputstream bos = new fileoutputstream(filepath + "upfiles"+"'\'" + tempname); int bytesread = 0; byte[] buffer = new byte[8192]; while((bytesread = stream.read(buffer,0,8192)) != -1){ bos.write(buffer,0,bytesread); } bos.close(); stream.close(); // 上传文件完成 }catch(exception e){ errors.add(actionmessages.global_message , new actionmessage("file.add.failure")) ; if ( !errors.isempty()){ saveerrors(request, errors) ; } return new actionforward(mapping.getinput()); } //写入到数据库记录 if(!sqldao.insernew(tempname, filename.getfilename(), memo, uptime)){ errors.add(actionmessages.global_message,new actionmessage("file.add.failure")); if(!errors.isempty()){ saveerrors(request,errors); } return new actionforward(mapping.getinput()); } removeformbean(mapping,request); return new actionforward(mapping.getinput()); } } }catch(sqlexception e){ e.printstacktrace(); }finally{ try{ if(conn != null){ conn.close(); } }catch(sqlexception e){ e.printstacktrace(); } } return null; } protected void removeformbean(actionmapping mapping, httpservletrequest request) { if (mapping.getattribute() != null) if ("request".equals(mapping.getscope())) { request.removeattribute(mapping.getattribute()); } else { httpsession session = request.getsession(); session.removeattribute(mapping.getattribute()); } } } | | |
|