欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringMVC + jquery.uploadify實(shí)現(xiàn)上傳文件功能

 更新時(shí)間:2017年06月06日 09:43:49   作者:garfieldzf  
文件上傳是很多項(xiàng)目都會(huì)使用到的功能,SpringMVC當(dāng)然也提供了這個(gè)功能。不過(guò)小編不建議在項(xiàng)目中通過(guò)form表單來(lái)提交文件上傳,這樣做的局限性很大。下面這篇文章主要介紹了利用SpringMVC + jquery.uploadify實(shí)現(xiàn)上傳文件功能的相關(guān)資料,需要的朋友可以參考下。

前言

以前用Asp.net MVC+uploadify上傳文件,最近學(xué)習(xí)SpringMVC,所以就用SpringMVC+uploadify做個(gè)上傳文件的demo。

剛開始用form表單的方式提交,在Controller Action中用@RequestParam MultipartFile file就能拿到上傳文件信息。后我直接使用uploadify的方式上傳,接口沒(méi)有做任何調(diào)整,上傳的過(guò)程中報(bào)http400, 客戶端的請(qǐng)求不符合接口的要求,表單post提交時(shí)報(bào)文參數(shù)是以Form Data方式,而換成uploadify時(shí)參數(shù)格式則是request payload的方式,所以把接口改寫成MultipartServletRequest的方式

開發(fā)環(huán)境

SpringMVC4、Uploadify、

上傳文件的話還需要下載 commons-fileupload ,同時(shí)還會(huì)下載common-io、common-logging

項(xiàng)目結(jié)構(gòu)

普通表單上傳

<form action="/User/index" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="upload"/>
</form>
@RequestMapping("upload")

 public @ResponseBody String upload(@RequestParam MultipartFile file) throws IOException {

  

 String path =request.getSession().getServletContext().getRealPath("upload");

 File file=new File(path,file.getOriginalFilename());

 

 file.transferTo(file); //保存文件

 

 return "/success"; 

 } 

uploadify上傳文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

<head>

 <title>Index</title>

 <link href="/2sc/uploadify/uploadify.css" rel="external nofollow" rel="stylesheet" type="text/css" />

 <script src="/2sc/js/jquery-1.4.2.js" type="text/javascript"></script>

 <script src="/2sc/uploadify/jquery.uploadify.js" type="text/javascript"></script>

 <style type="text/css">

 #fileQueue {position: absolute;bottom: 0;right: 0;}

 </style>

</head>

<body>

 spring mvc 上傳文件

 <div id="fileQueue">

 </div>

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

 

<script type="text/javascript">

 $(function () {

 $("#uploadify").uploadify({

  'method':'post',

  //指定swf文件

  'swf': '/2sc/uploadify/uploadify.swf',

  //后臺(tái)處理的頁(yè)面

  'uploader': '/User/upload',

  //按鈕顯示的文字

  'buttonText': '上傳圖片',

  //顯示的高度和寬度,默認(rèn) height 30;width 120

  //'height': 15,

  //'width': 80,

  //上傳文件的類型 默認(rèn)為所有文件 'All Files' ; '*.*'

  //在瀏覽窗口底部的文件類型下拉菜單中顯示的文本

  'fileTypeDesc': 'Image Files',

  //允許上傳的文件后綴

  'fileTypeExts': '*.gif; *.jpg; *.png',

  //發(fā)送給后臺(tái)的其他參數(shù)通過(guò)formData指定

  'formData': { 'someKey': 'someValue'},

  //上傳文件頁(yè)面中,你想要用來(lái)作為文件隊(duì)列的元素的id, 默認(rèn)為false 自動(dòng)生成, 不帶#

  'queueID': 'fileQueue',

  //選擇文件后自動(dòng)上傳

  'auto': true,

  //設(shè)置為true將允許多文件上傳

  'multi': true

 });

 });

</script>

</body>

</html> 

接口

@RequestMapping(value = "/upload",method = RequestMethod.POST)

 public @ResponseBody String upload(HttpServletRequest request, HttpServletResponse response){

 

 String path =request.getSession().getServletContext().getRealPath("upload");

 

 MultipartHttpServletRequest multipartHttpServletRequest=(MultipartHttpServletRequest)request;

 

 Map<String,MultipartFile> map = multipartHttpServletRequest.getFileMap();

 

 System.out.println("path:"+path);

 

 File file=new File(path);

 if(!file.exists()){

  file.mkdirs();

 }

 

 try{

 

  for(Map.Entry<String,MultipartFile> entity:map.entrySet()){

  MultipartFile multipartFile=entity.getValue();

  File ff = new File(path,multipartFile.getOriginalFilename());

  multipartFile.transferTo(ff);

  }

 

  return "success";

 }catch (Exception e){

  e.printStackTrace();

  return "error";

 }

 

 

 } 

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • SpringBoot內(nèi)置tomcat參數(shù)調(diào)優(yōu)的實(shí)現(xiàn)

    SpringBoot內(nèi)置tomcat參數(shù)調(diào)優(yōu)的實(shí)現(xiàn)

    springboot內(nèi)置了tomcat, 并給我們?cè)O(shè)置了默認(rèn)參數(shù), 我們?cè)趺礃有薷膕pringboot內(nèi)置的tomcat參數(shù),本文就詳細(xì)的來(lái)介紹一下,感興趣的可以了解一下
    2023-09-09
  • Intellij IDEA導(dǎo)入eclipse web項(xiàng)目的操作步驟詳解

    Intellij IDEA導(dǎo)入eclipse web項(xiàng)目的操作步驟詳解

    Eclipse當(dāng)中的web項(xiàng)目都會(huì)有這兩個(gè)文件,但是idea當(dāng)中應(yīng)該是沒(méi)有的,所以導(dǎo)入會(huì)出現(xiàn)兼容問(wèn)題,但是本篇文章會(huì)教大家如何導(dǎo)入,并且導(dǎo)入過(guò)后還能使用tomcat運(yùn)行,需要的朋友可以參考下
    2023-08-08
  • Java中IO流解析及代碼實(shí)例

    Java中IO流解析及代碼實(shí)例

    下面小編就為大家?guī)?lái)一篇關(guān)于Java中的IO流總結(jié)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-07-07
  • Java封裝數(shù)組之動(dòng)態(tài)數(shù)組實(shí)現(xiàn)方法詳解

    Java封裝數(shù)組之動(dòng)態(tài)數(shù)組實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Java封裝數(shù)組之動(dòng)態(tài)數(shù)組實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了java動(dòng)態(tài)數(shù)組的實(shí)現(xiàn)原理、操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • Java線程之間數(shù)據(jù)傳遞的實(shí)現(xiàn)示例(4種)

    Java線程之間數(shù)據(jù)傳遞的實(shí)現(xiàn)示例(4種)

    我們經(jīng)常會(huì)遇到父子線程數(shù)據(jù)傳遞(非調(diào)用參數(shù))的場(chǎng)景,本文主要介紹了Java線程之間數(shù)據(jù)傳遞的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Java 字符終端上獲取輸入三種的方式分享

    Java 字符終端上獲取輸入三種的方式分享

    這篇文章主要介紹了Java 字符終端上獲取輸入三種的方式,有需要的朋友可以參考一下
    2013-11-11
  • Spring Data JPA 實(shí)現(xiàn)多表關(guān)聯(lián)查詢的示例代碼

    Spring Data JPA 實(shí)現(xiàn)多表關(guān)聯(lián)查詢的示例代碼

    多表查詢?cè)趕pring data jpa中有兩種實(shí)現(xiàn)方式,第一種是利用hibernate的級(jí)聯(lián)查詢來(lái)實(shí)現(xiàn),第二種是創(chuàng)建一個(gè)結(jié)果集的接口來(lái)接收連表查詢后的結(jié)果,這里介紹第二種方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Spring中的BeanFactory與FactoryBean區(qū)別詳解

    Spring中的BeanFactory與FactoryBean區(qū)別詳解

    這篇文章主要介紹了Spring中的BeanFactory與FactoryBean區(qū)別詳解,BeanFactory是一個(gè)接口,它是spring中的一個(gè)工廠,FactoryBean也是一個(gè)接口,實(shí)現(xiàn)了3個(gè)方法,通過(guò)重寫其中方法自定義生成bean,需要的朋友可以參考下
    2024-01-01
  • Java實(shí)現(xiàn)布隆過(guò)濾器的方法步驟

    Java實(shí)現(xiàn)布隆過(guò)濾器的方法步驟

    布隆過(guò)濾器是可以用于判斷一個(gè)元素是不是在一個(gè)集合里,并且相比于其它的數(shù)據(jù)結(jié)構(gòu),布隆過(guò)濾器在空間和時(shí)間方面都有巨大的優(yōu)勢(shì)。下面這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)布隆過(guò)濾器的相關(guān)資料,需要的朋友可以參考下
    2018-11-11
  • java如何導(dǎo)出insert語(yǔ)句并生成sql腳本

    java如何導(dǎo)出insert語(yǔ)句并生成sql腳本

    這篇文章主要介紹了java導(dǎo)出insert語(yǔ)句并生成sql腳本的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評(píng)論