龍行天下

            政 博
          隨筆 - 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 />

          文件大?。?lt;%=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 | 天外流星
          主站蜘蛛池模板: 武胜县| 阿鲁科尔沁旗| 安国市| 芦溪县| 敖汉旗| 南康市| 名山县| 余庆县| 海城市| 上林县| 清远市| 垣曲县| 乌海市| 鄂州市| 浦北县| 天台县| 冀州市| 苏尼特右旗| 长葛市| 卢氏县| 安新县| 拜泉县| 曲周县| 常德市| 弋阳县| 工布江达县| 文昌市| 右玉县| 肇源县| 阿克陶县| 盐池县| 济阳县| 十堰市| 年辖:市辖区| 奉化市| 台州市| 磐石市| 濉溪县| 自治县| 惠来县| 微山县|