uploadify3.1 api 可参考:(点击打开链接

需要springmvc的jar包

1、upload.jsp(主要代码)

  1. <script type="text/javascript" charset="UTF-8"
  2. src="${pageContext.request.contextPath}/js/jquery1.11.js"></script>
  3. <script type="text/javascript" charset="UTF-8"
  4. src="${pageContext.request.contextPath}/static/llsfw/js/upload/upload.js"></script>
  5. <script type="text/javascript" charset="UTF-8"
  6. src="${pageContext.request.contextPath}/static/llsfw/common/uploadify/jquery.uploadify.min.js"></script>
  7. <div id="uploader">
  8. <p>
  9. <input type="file" name="file_upload" id="file_upload" />
  10. </p>
  11. <a href="javascript:$('#file_upload').uploadify('upload','*')">上传</a>
  12. <a href="javascript:$('#file_upload').uploadify('stop')">取消上传</a>
  13. <div id="uploader_queue"></div>
  14. <div id="uploader_msg"></div>
  15. <div id="uploader_view"></div>
  16. </div>

2、upload.js

  1. $(function() {
  2. $("#file_upload").uploadify({
  3. 'auto' : false,
  4. 'method' : "get",
  5. 'formData' : {'folder' : 'file'},
  6. 'height' : 30,
  7. 'swf' : basePath+'static/llsfw/common/uploadify/uploadify.swf', // flash
  8. 'uploader' : basePath+'uploadController/upload', // 数据处理url
  9. 'width' : 120,
  10. 'fileTypeDesc' : '只能是xls...',
  11. 'fileTypeExts' : '*.xls',
  12. 'fileSizeLimit' : '10500KB',
  13. 'buttonText' : '选择文件',
  14. 'uploadLimit' : 5,
  15. 'successTimeout' : 5,
  16. 'requeueErrors' : false,
  17. 'removeTimeout' : 10,
  18. 'removeCompleted' : false,
  19. 'queueSizeLimit' :10,
  20. 'queueID'  : 'uploader_queue',
  21. 'progressData' : 'speed',
  22. 'onInit' : function (){},
  23. // 单个文件上传成功时的处理函数
  24. 'onUploadSuccess' : function(file, data, response){
  25. $("#uploader_view").append('<div height="60" >'+data+'</div>');
  26. },
  27. 'onQueueComplete' : function(queueData) {
  28. $('#uploader_msg').html(queueData.uploadsSuccessful + ' 个文件上传成功。');
  29. }
  30. });
  31. });

3、UploadController.java

  1. package com.llsfw.core.controller.upload;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.util.Iterator;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.multipart.MultipartFile;
  10. import org.springframework.web.multipart.MultipartHttpServletRequest;
  11. import org.springframework.web.multipart.commons.CommonsMultipartResolver;
  12. import com.llsfw.core.controller.base.BaseController;
  13. @Controller
  14. @RequestMapping("uploadController")
  15. public class UploadController extends BaseController {
  16. @RequestMapping("init")
  17. public String init() {
  18. return "llsfw/upload/upload";
  19. }
  20. @RequestMapping("upload")
  21. public void upload(HttpServletRequest request, HttpServletResponse response) {
  22. try {
  23. String savePath = "C://uploads/";
  24. File dirPath = new File(savePath);
  25. if (!dirPath.exists()) {
  26. dirPath.mkdirs();
  27. }
  28. // 解析器解析request的上下文
  29. CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
  30. request.getSession().getServletContext());
  31. // 先判断request中是否包涵multipart类型的数据,
  32. if (multipartResolver.isMultipart(request)) {
  33. // 再将request中的数据转化成multipart类型的数据
  34. MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
  35. @SuppressWarnings("rawtypes")
  36. Iterator iter = multiRequest.getFileNames();
  37. while (iter.hasNext()) {
  38. MultipartFile file = multiRequest.getFile((String) iter.next());
  39. if (file != null) {
  40. String fileName = file.getOriginalFilename();
  41. System.out.println(fileName);
  42. File localFile = new File(savePath + fileName);
  43. // 写文件到本地
  44. file.transferTo(localFile);
  45. response.getWriter().print(fileName+"        上传成功!");
  46. }
  47. }
  48. }
  49. } catch (IOException e) {
  50. // TODO Auto-generated catch block
  51. e.printStackTrace();
  52. }
  53. }
  54. }

springMVC+uploadify3.1 文件上传 demo的更多相关文章

  1. 使用SpringMVC框架实现文件上传和下载功能

    使用SpringMVC框架实现文件上传和下载功能 (一)单个文件上传 ①配置文件上传解释器 <!—配置文件上传解释器 --> <mvc:annotation-driven>&l ...

  2. (转)SpringMVC学习(九)——SpringMVC中实现文件上传

    http://blog.csdn.net/yerenyuan_pku/article/details/72511975 这一篇博文主要来总结下SpringMVC中实现文件上传的步骤.但这里我只讲单个文 ...

  3. SpringMvc入门五----文件上传

      知识点: SpringMvc单文件上传 SpringMvc多文件上传   这里我直接演示多文件上传,单文件的上传就不说了,不过代码都是现成的. 效果预览:   DEMO图:     添加文件上传j ...

  4. SpringMVC+BUI实现文件上传(附详解,源码下载)

    中午有限时间写这博文,前言就不必多说了,直奔主题吧. BUI是一个前端框架,关于BUI的介绍请看博主的文章那些年用过的一些前端框架. 下面我们开始实例的讲解! 一.效果演示: 上传成功后,会发现本地相 ...

  5. 2017/2/12:springMVC的简单文件上传跟拦截器

    1.写文件上传的界面jsp代码如下重点为文件上传标签的类型 2.写登录成功跟失败的界面:成功自己写 3.写springMVC的文件上传的controller的方法 4.最后一步配置spring-ser ...

  6. springMVC + hadoop + httpclient 文件上传请求直接写入hdfs

    1.首先是一个基于httpclient的java 应用程序,代码在这篇文章的开头:点击打开链接 2.我们首先写一个基于springMVC框架的简单接收请求上传的文件保存本地文件系统的demo,程序代码 ...

  7. 深入springMVC源码------文件上传源码解析(下篇)

    在上篇<深入springMVC------文件上传源码解析(上篇) >中,介绍了springmvc文件上传相关.那么本篇呢,将进一步介绍springmvc 上传文件的效率问题. 相信大部分 ...

  8. springMVC实现多文件上传

    <h2>上传多个文件 实例</h2> <form action="/workreport/uploadMultiFile.html" method=& ...

  9. WebSite 文件上传Demo

    知识点: 1 <!--上传文件时:        1.必须使用Post方式来提交数据        2.必须设置表单的enctype属性        3.必须在表单中包含文件域.input t ...

随机推荐

  1. MVC:@RenderBody、@RenderPage、@RenderSection用法

    本文导读:在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中.模板页:@RenderBody()占位符:局部页面:@RenderP ...

  2. SQL Server-聚焦过滤索引提高查询性能

    前言 这一节我们还是继续讲讲索引知识,前面我们讲了聚集索引.非聚集索引以及覆盖索引等,在这其中还有一个过滤索引,通过索引过滤我们也能提高查询性能,简短的内容,深入的理解,Always to revie ...

  3. Windows Phone 编程: 摇一摇 效果

    Step 1: 下载摇晃手势开发库 http://create.msdn.com/en-us/edu ... ake_Gesture_LibraryStep 2: 解压后进入 ShakeGesture ...

  4. 「Redis 笔记」常用命令

    编号 命令 描述 1 DEL key 此命令删除一个指定键(如果存在). 2 DUMP key 此命令返回存储在指定键的值的序列化版本. 3 EXISTS key 此命令检查键是否存在. 4 EXPI ...

  5. 关于如何成为高级java程序员

    今日,对如何进一步提升java.成为一个高级的程序员有了兴趣,在网上看到一篇回答,感觉不错,记下来 总结了以下六点:一.JAVA基础 要想成为高级Java程序员,Java是一定要学习的.要成为高级程序 ...

  6. apicloud开发方法。

    1.前端布局 window frame 子窗口 franmegroup  子窗口组. 一个页面比如有一个固定的顶部,然后中间区域是商品或者是什么内容,那么这个整体就是一个window,那么中间的就是i ...

  7. 实现数组类(C++ 拷贝构造函数、拷贝函数)要判断赋值左右对象不相等,坑惨了

    #include <iostream> using namespace std; class ArrayIndexOutOfBoundsException{ // 异常类 public: ...

  8. BZOJ 1266: [AHOI2006]上学路线route Floyd_最小割

    十分简单的一道题. 图这么小,跑一边 Floyd 就得到第一问最短路径的答案. 考虑第二问怎么求:我们可以先将最短路径组成的图从原图中抽离出来,构成新图 $G$. 我们发现,只要 $G$ 的起点与终点 ...

  9. CCPC2018秦皇岛游记

    Day1 27号晚上8点多的火车. 然后..第二天(28号)6点40左右的样子到了天津(中转站) 然后一顿乱拍. 看到宝葫芦了没:) 然后.看到了狗不理包子铺...不过当时没开门,就溜了. 然后去秦皇 ...

  10. 【codeforces 807C】Success Rate

    [题目链接]:http://codeforces.com/contest/807/problem/C [题意] 给你4个数字 x y p q 要求让你求最小的非负整数b; 使得 (x+a)/(y+b) ...