springMvc+swfUpload实现异步文件上传(前台用纯html后台返回json)

来源:互联网 发布:孤岛惊魂4流畅优化 编辑:程序博客网 时间:2024/06/05 20:28

之前在网上看了一下说只能返回ModelAndView,自己试了一下,其实不然


前台页面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>   <title>SWFUpload Demos</title>   <link href="css/default.css" rel="stylesheet" type="text/css" />   <link rel="stylesheet" href="css/button.css" type="text/css" />   <script type="text/javascript" src="js/swfupload/swfupload.js"></script>   <script type="text/javascript" src="js/swfupload/handlers.js"></script>   <script type="text/javascript">      var swfu;      window.onload = function () {         swfu = new SWFUpload({            upload_url: "/upload/swfupload.do",            file_post_name:"filedata",            post_params: {"name" : "zwm"},            use_query_string:true,            // File Upload Settings            file_size_limit : "10 MB", // 文件大小控制            file_types : "*.*",            file_types_description : "All Files",            file_upload_limit : "0",            file_queue_error_handler : fileQueueError,            file_dialog_complete_handler : fileDialogComplete,//选择好文件后提交            file_queued_handler : fileQueued,            upload_progress_handler : uploadProgress,            upload_error_handler : uploadError,            upload_success_handler : uploadSuccess,            upload_complete_handler : uploadComplete,            button_placeholder_id : "spanButtonPlaceholder",            button_width: 180,            button_height: 18,            button_text : '<span class="button">请选择文件 </span>',            button_text_style : '.button { font-family: Helvetica, Arial, sans-serif; font-size: 12pt; } .buttonSmall { font-size: 10pt; }',            button_text_top_padding: 0,            button_text_left_padding: 18,            button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,            button_cursor: SWFUpload.CURSOR.HAND,            // Flash Settings            flash_url : "js/swfupload/swfupload.swf",            custom_settings : {               upload_target : "divFileProgressContainer"            },            // Debug Settings            debug: false  //是否显示调试窗口         });      };      function startUploadFile(){         swfu.startUpload();      }   </script></head><body style="background-color: #C0D1E3; padding: 2px;"><div id="content">   <form>      <div            style="display: inline; border: solid 1px #7FAAFF; background-color: #C5D9FF; padding: 2px;">         <span id="spanButtonPlaceholder"></span>         <input id="btnUpload" type="button" value="上  传"               onclick="startUploadFile();" class="btn3_mouseout"               />         <input id="btnCancel" type="button" value="取消所有上传"               onclick="cancelUpload();" disabled="disabled" class="btn3_mouseout"               />      </div>   </form>   <div id="divFileProgressContainer"></div>   <div id="thumbnails">      <table id="infoTable" border="0" width="530" style="display: inline; border: solid 1px #7FAAFF; background-color: #C5D9FF; padding: 2px;margin-top:8px;">      </table>   </div></div></body></html>
后台controller:

package com.demo.controller;import com.demo.entity.User;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import java.io.File;import java.io.IOException;import java.util.Date;@Controller@RequestMapping("/upload")public class UpLoadFileController {     @ResponseBody     @RequestMapping("/swfupload")     public User fileUpload(HttpServletRequest request,@RequestParam("filedata")MultipartFile file) throws Exception {         try {             String uploadDir = request.getRealPath("/upload");             File dirPath = new File(uploadDir);             if (!dirPath.exists()) {                     dirPath.mkdirs();             }             file.transferTo(new File(uploadDir + "/" + file.getOriginalFilename()));         } catch (IOException e) {             e.printStackTrace();         }         User user=new User(1,"张无忌",new Date());         return user;     }}


源码地址:http://download.csdn.net/detail/fengqilove520/9671712

0 0
原创粉丝点击