中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

jquery.form.js框架實現文件上傳功能案例解析(springmvc)
來源:易賢網 閱讀:1707 次 日期:2016-06-20 17:14:29
溫馨提示:易賢網小編為您整理了“jquery.form.js框架實現文件上傳功能案例解析(springmvc)”,方便廣大網友查閱!

這篇文章主要為大家詳細介紹了jquery.form.js/springmvc文件上傳功能的實現步驟,使用的技術有jquery.form.js框架, 以及springmvc框架,具有實用價值,感興趣的小伙伴們可以參考一下

上一篇 Bootstrap自定義文件上傳下載樣式(http://www.jb51.net/article/85156.htm)已經有一段時間了,一直在考慮怎么樣給大家提交一篇完美的邏輯處理功能。現在我結合自己的實際工作給大家分享一下。

使用的技術有jquery.form.js框架, 以及springmvc框架。主要實現異步文件上傳的同時封裝對象,以及一些注意事項。

功能本身是很簡單的,但是涉及到一些傳遞參數類型的問題。例如:jquery的ajax方法與jquery.form.js中的ajaxSubmit方法的參數,具體細節將在下一篇博客中分享。

重點: html表格三要素: action="fileUpload/fileUpload" method="post" enctype="multipart/form-data";

1. 最簡單的表單直接提交

html代碼:

<body>

 <form action="fileUpload/fileUpload" method="post" enctype="multipart/form-data">

 <input type="text" name="password">

  <input type="file" name="file">

 <input type="text" name="username">

  <input type="submit" value="submit">

 </form>

 <button id="button">提交</button>

</body>

java代碼

@Controller

@RequestMapping("/fileUpload")

public class FileUpload {

 @RequestMapping("/fileUpload")

 @ResponseBody

 public String FileUpload1(@RequestParam("file")MultipartFile file/*, @RequestParam("username")String username*/){

 System.out.println("------------------------------- "+ file.getSize());

 if(!file.isEmpty()){

  System.out.println("Process file: "+file.getOriginalFilename() );

  try {

  FileUtils.copyInputStreamToFile(file.getInputStream(), new File("c:\\temp\\imooc\\", System.currentTimeMillis()+ file.getOriginalFilename()));

  } catch (IOException e) {

  e.printStackTrace();

  }

 }

 return "NewFile";

 }

}

具體的springmvc配置,包括文件上傳的配置如下

準備工作:

需要把Jakarta Commons FileUpload及Jakarta Commons io的包放lib里。

這邊的包是:

commons-fileupload-1.1.1.jar

commons-io-1.3.2.jar

然后在spring-servlet.xml進行multipartResolver配置,不配置好上傳會不好用。

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 

   <property name="maxUploadSize"><value>100000</value></property> 

   <property name="defaultEncoding"><value>UTF-8</value></property> 

</bean> 

接下來就是頁面了:

注意Form的寫法和文件上傳組件的寫法。

<form action="uploadPosdetailFile.html" method="post" ENCTYPE="multipart/form-data">

<div class="form" >

  <p>

   <span class="req"><input id="startDateTxt" name="startDateTxt" class="field size4" title="Enter the date" /></span>

   <label>Start Date: <span>(Date format:MM/dd/yyyy,eg:01/01/2014)</span></label>

  </p>

  <p>

   <span class="req"><input id="endDateTxt" name="endDateTxt" class="field size4" title="Enter the date" /></span>

   <label>End Date: <span>(Date format:MM/dd/yyyy,eg:12/25/2014)</span></label>

  </p>

  <p>

   <span class="req"><input type="file" name="uploadFileCtrl" class="field size4" title="Choose the file" /></span>

   <label>Upload file: <span>(click browse to choose)</span></label>

  </p>

</div>

<div class="buttons">

 <input id="queryBtn" type="Submit" class="button" value="Submit" />

</div>

</form>

再在控制器里寫處理代碼,注意參數和頁面控件的對應關系:

@RequestMapping(value="/uploadPosdetailFile")

public String uploadPosdetailFile(@RequestParam("startDateTxt") String startDateTxt, 

        @RequestParam("endDateTxt") String endDateTxt,

        @RequestParam("uploadFileCtrl") MultipartFile file,HttpServletRequest request,HttpServletResponse response){

 try {

  System.out.println("@@@@@@@@@1.startDateTxt="+startDateTxt);

  System.out.println("@@@@@@@@@2.endDateTxt="+endDateTxt);

  System.out.println("@@@@@@@@@3.file="+file.getOriginalFilename());// 得到上傳文件的文件名

  if(file.isEmpty()==false){

   InputStream is=file.getInputStream();

   InputStreamReader isr = new InputStreamReader(is);

    BufferedReader br=new BufferedReader(isr); 

    String s;

    while((s=br.readLine())!=null ){

     System.out.println(s);

    }

   br.close();

   isr.close();

   is.close();

  }

  return "/pages/posdetail/uploadposdetailresult/index.jsp";

 } catch (Exception e) {

  e.printStackTrace();

  logger.error(e);

  request.setAttribute("error", e.getClass());

  request.setAttribute("reason", e.getMessage());

  StackTraceElement[] arr=e.getStackTrace();

  request.setAttribute("stackTraceElements", arr);

  return "pages/error/index.jsp";

 }

}

2. 使用jquery.form.js的ajaxSubmit方法

html代碼以及java代碼保持不變,給id=button的按鈕添加事件

$("#button").click(function(){

  var hideForm = $('form'); 

  var options = { 

   dataType : "json", 

   /*data: {'file': $("input[type=file]").val(), "username": '123', password: "123"},*/

   beforeSubmit : function() { 

    alert("正在上傳"); 

   }, 

   success : function(result) { 

    alert('成功上傳!'); 

   }, 

   error : function(result) { 

   } 

  }; 

  hideForm.ajaxSubmit(options); 

 });

3. 在后臺使用一個User對象接收username和password。

<form action="fileUpload/fileUpload" method="post" enctype="multipart/form-data">

  <input type="file" name="file">

  <input type="submit" value="submit">

</form>

有可能你會按照下面的步驟做: 封裝表單數據作為一個json對象, 給上面的js代碼添加data  

data:{'file': $("input[type=file]").val(), 'user':{"username": '123', password: "123"}}

在此處其實是畫蛇添足,這種情況下發送的請求的詳細情況如圖:

名單

此時頁面會報錯415。

----------------------------------------------------------------

最合理的代碼應該是:html代碼與1相同, js代碼與2相同, java代碼

public String FileUpload1(@RequestParam("file")MultipartFile file, User user){

而且User、前面不能加@RequestBody。

以上就是本文的全部內容,希望對大家的學習有所幫助

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲色诱最新| 国产三级欧美三级| 在线日韩电影| 国产无遮挡一区二区三区毛片日本| 久久字幕精品一区| 欧美二区乱c少妇| 欧美日韩国产高清视频| 欧美美女福利视频| 国产精品v亚洲精品v日韩精品| 欧美精品久久99久久在免费线| 欧美成人免费小视频| 国产精品第13页| 国产亚洲aⅴaaaaaa毛片| 国产一区日韩一区| 亚洲日本一区二区| 一区二区三区日韩| 久久精品视频在线| 欧美三级免费| 亚洲国产精品一区二区第一页| 99国产精品私拍| 久久精品日韩| 国产精品亚洲一区| 亚洲欧洲三级电影| 欧美在线免费视频| 欧美性色综合| 99精品国产福利在线观看免费 | 一区二区三区日韩精品视频| 亚洲免费观看高清在线观看| 久久婷婷久久一区二区三区| 欧美小视频在线观看| 99精品热视频只有精品10| 免费在线观看日韩欧美| 一区二区在线看| 欧美 日韩 国产一区二区在线视频 | 欧美日韩91| 亚洲国产美女| 欧美精品少妇一区二区三区| 亚洲国产片色| 欧美日韩一区二区三区视频| 99re6热在线精品视频播放速度| 欧美电影免费观看大全| 日韩午夜一区| 国产视频观看一区| 乱人伦精品视频在线观看| 日韩一级大片在线| 国产日韩欧美一区二区| 久久一区国产| 中文在线不卡视频| 黑人巨大精品欧美一区二区小视频| 老色批av在线精品| 亚洲在线网站| 亚洲蜜桃精久久久久久久| 欧美日韩一区二区三区四区在线观看| 一区二区三区高清不卡| 亚洲成色精品| 国产一区三区三区| 欧美色图五月天| 欧美精品一卡| 欧美成ee人免费视频| 久久精品综合| 欧美一区二区精品在线| 一本久久精品一区二区| 在线观看91精品国产入口| 亚洲激情一区二区| 亚洲综合久久久久| 亚洲每日更新| 欧美国产日韩在线| 欧美二区在线播放| 久久免费视频在线观看| 99在线精品视频| 亚洲视频网站在线观看| 欧美日韩中国免费专区在线看| 亚洲男人第一av网站| 欧美性大战xxxxx久久久| 一区在线视频观看| 黄色成人免费网站| 极品尤物久久久av免费看| 欧美日韩在线一区| 欧美精品在线极品| 欧美无砖砖区免费| 国产精品激情av在线播放| 国产精品v一区二区三区| 国产精品老牛| 欧美激情久久久久| 91久久精品美女高潮| 亚洲国产一区在线观看| 亚洲欧美日韩精品在线| 亚洲黄一区二区三区| 一本一本久久a久久精品综合麻豆| 一本一道久久综合狠狠老精东影业 | 亚洲欧美日韩精品久久亚洲区 | 亚洲视频一二| 欧美va天堂va视频va在线| 欧美日韩国产美| 国产综合色产| 中文精品一区二区三区| 欧美**人妖| 影音先锋中文字幕一区二区| 一本色道**综合亚洲精品蜜桃冫| 久久国产精品免费一区| 国产精品www.| 中国女人久久久| 欧美精品亚洲二区| 亚洲高清视频在线| 开元免费观看欧美电视剧网站| 欧美日韩一二三区| aa级大片欧美| 欧美日韩综合视频网址| 宅男噜噜噜66一区二区66| 欧美日韩日日夜夜| 一本色道久久加勒比88综合| 奶水喷射视频一区| 91久久精品国产91久久性色| 久久综合伊人77777蜜臀| 尤物九九久久国产精品的分类| 欧美一区二区三区的| 红杏aⅴ成人免费视频| 欧美成人a视频| 亚洲欧美一区二区三区极速播放| 国产亚洲一本大道中文在线| 美女网站久久| 亚洲一区美女视频在线观看免费| 国产欧美日韩综合| 欧美激情综合亚洲一二区| 午夜精品视频网站| 亚洲欧洲在线视频| 国产日韩欧美自拍| 欧美三级小说| 免费观看国产成人| 欧美一区二区三区免费大片| 136国产福利精品导航| 国产精品一区亚洲| 欧美日韩精品欧美日韩精品 | 欧美专区亚洲专区| 亚洲精品影院| 亚洲二区在线观看| 国产在线播精品第三| 国产精品www| 欧美日韩在线综合| 欧美美女日韩| 欧美日韩成人| 欧美三级视频在线观看| 欧美日韩国产高清| 欧美高清在线精品一区| 模特精品在线| 欧美大片在线看| 久久精品女人的天堂av| 91久久线看在观草草青青| 亚洲国产天堂久久国产91| 亚洲电影观看| 亚洲视频综合在线| 欧美一区二区三区四区夜夜大片| 亚洲欧美综合精品久久成人| 亚洲天堂av图片| 午夜欧美不卡精品aaaaa| 久久国产欧美| 欧美精品一区在线观看| 国产精品成人免费视频 | 亚洲免费一在线| 亚洲一区二区免费视频| 久久精品一区二区三区中文字幕| 午夜精品久久久久久久99樱桃| 久久精品成人欧美大片古装| 欧美jizz19性欧美| 国产日韩一区二区三区| 亚洲电影免费观看高清完整版| 一区二区精品在线观看| 老司机免费视频一区二区三区| 欧美日韩亚洲一区二区三区在线| 国产视频一区三区| 亚洲一区二区三区高清| 欧美高清不卡在线| 在线成人激情黄色| 久久爱www久久做| 国产精品日日摸夜夜摸av| 亚洲精品少妇| 欧美日韩国产在线播放| 亚洲人成久久| 欧美日韩一区二区三区在线 | 国产欧美日韩免费看aⅴ视频| 国产亚洲综合在线| 欧美激情成人在线视频| 亚洲欧美日韩爽爽影院| 伊人色综合久久天天| 国产精品久久久久久久app| 久久久久久久一区二区三区| 欧美在线观看日本一区| 亚洲在线视频网站| 欧美亚洲免费电影| 欧美电影资源| 在线视频你懂得一区| 亚洲第一精品在线| 国产精品亚发布| 一区二区三区中文在线观看| 欧美日韩一区二区在线观看视频| 亚洲欧美色婷婷| 亚洲一区二区av电影| 在线一区欧美| 亚洲一品av免费观看| 久久永久免费|