jfinal實現上傳功能


首先,jsp頁面:由於設置enctype="multipart/form-data",所以form里面的input的值以2進制的方式傳過去。

<form id="form1" method="post" enctype="multipart/form-data" >

  <input type="file" id="upload" name="upload" />

  <input type = "button"  value = "保存" onclick="saveRequestFrom()" />

</form>

此處必須為表單提交!可以通過js實現,也可以直接通過sumbit按鈕實現form表單的提交。

<script language="javascript">

  function saveRequestFrom(){

    var form = document.getElementById("form1");

    form.action="<%=path%>/requestform/saveRequestFromInfo";

    form.submit();

  }

</script>

后台處理,也就是此例中saveRequestFromInfo方法中需要實現的是:

String path_tmp = "";
String uploadDir = File.separator + "upload" + File.separator + "contract" + File.separator;//保存路徑,File.separator代表斜杠“\”或者"/",根據情況而定。
path_tmp = PathKit.getWebRootPath() + uploadDir;//PathKit.getWebRootPath() 為webroot路徑
UploadFile uploadFile = getFile("upload", path_tmp);//upload為前台頁面需要上傳的內容,path_tmp為以上拼接而成的文件存儲路徑

其中,獲取文件名為ploadFile.getFileName();
獲取保存路徑為uploadFile.getSaveDirectory();

需要注意的是,后台方法如果還需要從頁面表單中接收其它值,那么需要首先執行上傳操作,否則由於form里面的input的值以2進制的方式傳過去,所以接收不到頁面傳來的數據。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM