龍行天下

            政 博
          隨筆 - 23, 文章 - 0, 評論 - 12, 引用 - 0
          數據加載中……

          用struts上傳文件

          用到的類import org.apache.struts.upload.FormFile;

          Jsp上傳頁面:

          ?

          <%@ page contentType="text/html; charset=GBK" %>

          <html>

          <head>

          <title>

          strutsUploadForm

          </title>

          </head>

          <body bgcolor="#ffffff">

          <h1>

          上傳測試

          </h1>

          <form action="uploadTestAction.do" method="post" enctype="multipart/form-data" name="form1">

          ? <p>文本

          ??? <input name="theText" type="text" id="theText">

          </p>

          ? <p>文件

          ??? <input name="theFile" type="file" id="theFile">

          </p>

          ? <p>保存到

          ??? <input name="saveTo" type="text" id="saveTo">

          </p>

          ? <p>

          ??? <input type="submit" name="Submit" value="提交">

          </p>

          </form>

          </body>

          </html>

          ?

          ?

          actionForm

          ?

          package hehe;

          ?

          import org.apache.struts.action.*;

          import javax.servlet.http.*;

          import org.apache.struts.upload.FormFile;

          ?

          public class UploadTestForm extends ActionForm {

          ? private String saveTo;

          ? private String theText;

          ? private org.apache.struts.upload.FormFile theFile;//文件框對應的是formFile類型

          ? public String getSaveTo() {

          ??? return saveTo;

          ? }

          ? public void setSaveTo(String saveTo) {

          ??? this.saveTo = saveTo;

          ? }

          ? public org.apache.struts.upload.FormFile getTheFile() {

          ??? return theFile;

          ? }

          ? public void setTheFile(org.apache.struts.upload.FormFile theFile) {

          ??? this.theFile = theFile;

          ? }

          ? public String getTheText() {

          ??? return theText;

          ? }

          ? public void setTheText(String theText) {

          ??? this.theText = theText;

          ? }

          ? public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {

          ??? /**@todo: finish this method, this is just the skeleton.*/

          ??? if(!this.getTheFile().getContentType().equals("image/pjpeg")){

          ????? System.out.println("不是jpg");

          ??? }//可以判斷類型

          ??? if(this.getTheFile().getFileSize()>100){

          ????? System.out.println("長度大于1000");

          ??? }//可以判斷大小

          ??? return null;

          ? }

          ? public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {

          ??? saveTo = null;

          ??? theFile = null;

          ??? theText = null;

          ? }

          }

          ?

          ?

          Action

          ?

          package hehe;

          ?

          import org.apache.struts.action.*;

          import org.apache.struts.upload.FormFile;

          import javax.servlet.http.*;

          import java.io.*;

          ?

          public class UploadTestAction

          ??? extends Action {

          ? public ActionForward execute(ActionMapping actionMapping,

          ?????????????????????????????? ActionForm actionForm,

          ?????????????????????????????? HttpServletRequest request,

          ?????????????????????????????? HttpServletResponse response) {

          ??? UploadTestForm uploadForm = (UploadTestForm) actionForm;

          ??? FormFile file = uploadForm.getTheFile();

          ??? String path = uploadForm.getSaveTo();

          ??? String theText = uploadForm.getTheText();

          ??? try {

          ????? InputStream input = file.getInputStream();//能從FormFile中獲得輸入流

          ????? OutputStream output = new FileOutputStream(path);

          ????? int bytesReader = 0;

          ????? byte[] readbuffer = new byte[8192];

          ????? while ( (bytesReader = input.read(readbuffer, 0, 8192)) != -1) {

          ??????? output.write(readbuffer, 0, bytesReader);

          ????? }

          ????? output.close();

          ??? }

          ??? catch (Exception e) {

          ????? e.printStackTrace();

          ??? }

          ??? request.setAttribute("theText", theText);

          ??? request.setAttribute("fileName", file.getFileName());//上傳的文件名

          ??? request.setAttribute("fileSize", new Integer(file.getFileSize()));//文件大小

          ??? request.setAttribute("fileType", file.getContentType());//文件類型

          ??? return actionMapping.findForward("success");

          ? }

          }

          ?

          ?

          結果頁面

          ?

          <%@ page contentType="text/html; charset=GBK" %>

          <html>

          <head>

          <title>

          strutsUploadResult

          </title>

          </head>

          <body bgcolor="#ffffff">

          <h1>

          上傳結果

          </h1>

          文件名:<%=request.getAttribute("fileName")%><br />

          文本:<%=request.getAttribute("theText")%><br />

          文件類型:<%=request.getAttribute("fileType")%><br />

          文件大小:<%=request.getAttribute("fileSize")%><br />

          </body>

          </html>

          posted on 2006-05-03 20:03 feingto 閱讀(1166) 評論(1)  編輯  收藏 所屬分類: Java Web

          評論

          # re: 用struts上傳文件  回復  更多評論   

          你好,你在那呀

          你在北京嗎
          你是姓康名鋒嗎?
          我在蘭州
          以后有好我問題得請教你呀

          你在萬維工作嗎?
          2006-08-06 10:31 | 天外流星
          主站蜘蛛池模板: 金川县| 芒康县| 铜陵市| 卢龙县| 饶河县| 德钦县| 高碑店市| 波密县| 元氏县| 潜山县| 阳新县| 隆昌县| 清远市| 泽库县| 昌吉市| 霍州市| 临汾市| 册亨县| 玉龙| 噶尔县| 怀集县| 南京市| 西和县| 涟源市| 利辛县| 永川市| 遵义市| 桦甸市| 乌兰县| 阿拉善左旗| 通辽市| 上饶市| 南宁市| 宁夏| 乡城县| 鄂托克前旗| 黑水县| 阿坝县| 合江县| 沂南县| 吴川市|