使用DiskFileItemFactory在Action中獲得JSP表單內容(用在有圖片上傳功能的表單中)__JSP

來源:互聯網
上載者:User

1.在<form>標籤中必須加入enctype="multipart/form-data"屬性

 

例如:<form action="successcase.do?method=modify2" method="post" enctype="multipart/form-data" onsubmit="return check()">

 

2.在<input>標籤中必須有name屬性

 

例如:<input type="text" name="title" size="50" id="title"/>

 

3.在Action中的代碼:

 

boolean p=true;//是否使用預設圖片
    
  DiskFileItemFactory factory = new DiskFileItemFactory();
  ServletFileUpload upload = new ServletFileUpload(factory);
  List<FileItem> items = upload.parseRequest(request);
  Iterator<FileItem> it = items.iterator();
  while (it.hasNext()) {
   FileItem tempitem = it.next();//取得表單中的一個元素
   String itemName = tempitem.getFieldName();//取得input標籤的name屬性值
   if (tempitem.isFormField()) {//判斷這個元素type是否為text,FCKediter也返回true
    String content = tempitem.getString("gbk");
    if (itemName.equals("title")) {
     sc.setTitle(content);
    } else if (itemName.equals("content")) {
     sc.setContent(content);
    }
   }else {//type是file,上傳的檔案
    if(tempitem.getName()==""){//如果沒有上傳檔案,就使用預設檔案
     continue;
    }
    if (!FileDocumentUtil.existDocument(request
      .getRealPath("/")+"successimages//")) {
     FileDocumentUtil.createDocument(request
      .getRealPath("/")+ "successimages//");
    }
    File tempfile= new File(request.getRealPath("/")+"successimages//"+new File(tempitem.getName()).getName());
    tempitem.write(tempfile);
    sc.setPicture(tempfile.getCanonicalPath());
    p=false;
   }
  }
  if(p){
   sc.setPicture(request.getRealPath("/")+"images//LOGO1.jpg");
  }

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.