日期:2014-05-18  浏览次数:21003 次

100!JSP上传EXCEL文件!
源程序

------解决方案--------------------
什么都没有,不知道要干啥
------解决方案--------------------
网上找个例子撒那
------解决方案--------------------
直接网上找吧。如果不行,就自己做,出问题后再来问会更好。
------解决方案--------------------
上传文件?什么类型都可以~~~smartUpload
------解决方案--------------------
/*
* 作成日: 2006/11/20
*
* TODO この生成されたファイルのテンプレートを変更するには次へジャンプ:
* ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
*/
package login.source.action;

/**
* @author song
*
* TODO この生成された型コメントのテンプレートを変更するには次へジャンプ:
* ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
*/
import java.io.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
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 java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.text.*;

import login.source.model.FileList;
import login.source.form.UploadForm;
import login.source.model.*;


public class UploadAction extends Action {

public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
//Upload files
String dir = servlet.getServletContext().getRealPath( "/upload ");
String content = ((UploadForm)form).getContent();
//Date time to string,for a unique path in upload floder
Calendar ca = Calendar.getInstance();
Date dt = ca.getTime();
DateFormat sdf = DateFormat.getDateTimeInstance();
String datetime = sdf.format(dt);
String timeString = datetime.trim();
datetime = datetime.replace( '/ ', '_ ');
datetime=datetime.replace( ' ', '_ ');
datetime=datetime.replace( ': ', '_ ');
datetime = datetime + '_ ' + String.valueOf(ca.getTimeInMillis());
dir = dir + "/ " + datetime;

HttpSession session = request.getSession();
ArrayList arrlist = (ArrayList)session.getAttribute( "flist ");
File newfile = new File(dir);
newfile.mkdir();

//Write file to upload floder
for(int i = 0; i < arrlist.size()-1;i++)
{
//get upload file 's information
FileList flisttemp = (FileList)arrlist.get(i);
String fname = flisttemp.getFilevalue().trim();
InputStream streamIn = flisttemp.getStreamin();

//Write file
OutputStream streamOut= new FileOutputStream(dir + "/ "+fname);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while((bytesRead=streamIn.read(buffer,0,8192))!=-1)
{
streamOut.write(buffer,0,bytesRead);
}
streamOut.close();
streamIn.close();
}
makeHistory(timeString,datetime,request,content);

//Clear the session
request.getSession().removeAttribute( "timefrom ");
request.getSession().removeAttribute( "timeto ");
//Write file to upload path
return (mapping.findForward( "UploadSuccess "));