一 : applicationContext.xml中:必须声明不然获取不到
<!-- 上传文件的配置 -->
<bean
id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

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

<property name="defaultEncoding" value="utf-8"/><!--属性:编码-->
</bean>

二 : 前台jsp页面
<!-- //存放选择文件的 图片按钮的 Div -->
<div id="uploadfileQueue"></div>
<input type="file" id="file_upload">
<img id="add_img" width="100" height="100"/>
<input type="text" name="user_img" >

三 : js代码:
$(document).ready(function() {

$("#file_upload").uploadify({

//是否自动上传 true or false
'auto':true,
//超时时间上传成功后,将等待服务器的响应时间。
//在此时间后,若服务器未响应,则默认为成功(因为已经上传,等待服务器的响应) 单位:秒
'successTimeout':99999,
//附带值 JSON对象数据,将与每个文件一起发送至服务器端。
//如果为动态值,请在onUploadStart()中使用settings()方法更改该JSON值
/* 'formData':{ //可以不写
'user.username':'',
'user.age':''
}, */
'onUploadStart': function(file) {

$("#file_upload").uploadify(
"settings"
);
/* {'user.username':name,'user.age':age});*/
},
//flash
'swf': "<%=request.getContextPath()%>/uploadify/uploadify.swf",
//文件选择后的容器div的id值
'queueID':'uploadfileQueue',
//将要上传的文件对象的名称 必须与后台controller中抓取的文件名保持一致
'fileObjName':'headerImage',
//上传地址访问后台action路径
'uploader':'<%=request.getContextPath()%>/photosAction/uploadFile.do',

//浏览将要上传文件按钮的背景图片路径
//'buttonImage':'<%=request.getContextPath()%>/uplodify/background.jpg',

//浏览按钮的宽度
'width':'100',

//浏览按钮的高度
'height':'32',

//在浏览窗口底部的文件类型下拉菜单中显示的文本
'fileTypeDesc':'支持的格式:',

//允许上传的文件后缀
'fileTypeExts':'*.jpg;*.jpge;*.gif;*.png', //有哪些??

/*上传文件的大小限制允许上传文件的最大 大小。 这个值可以是一个数字或字 符串。
如果它是一个字符串,它接受一个单位(B, KB, MB, or GB)。
默认单位为KB您可以将此值设置为0 ,没有限制,
单个文件不允许超过所设置的值 如果超过 onSelectError时间被触发*/
'fileSizeLimit':'1024KB',
'buttonText': '上传头像',
//允许上传的文件的最大数量。当达到或超过这个数字,onSelectError事件被触发。
'queueSizeLimit' : -1,

//选择上传文件后调用
'onSelect' : function(file) {
// alert("123");
},
//返回一个错误,选择文件的时候触发
'onSelectError':function(file, errorCode, errorMsg){
switch(errorCode) {
case -100:
alert("上传的文件数量已经超出系统限制的"
+$('#file_upload').uploadify('settings','queueSizeLimit')+"个文件!");
break;

case -110:
alert("文件 ["+file.name+"] 大小超出系统限制的"
+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!");
break;

case -120:
alert("文件 ["+file.name+"] 大小异常!");
break;

case -130:
alert("文件 ["+file.name+"] 类型不正确!");
break;
}
},
//上传到服务器,服务器返回相应信息到data里
'onUploadSuccess':function(file, data, response){
//alert(data);
$("#add_img").attr("src","<%=request.getContextPath()%>/"+data)
//alert("<%=request.getContextPath()%>/"+data)
$("[name='user_img']").val(data)
},
//当单个文件上传出错时触发
'onUploadError': function (file, errorCode, errorMsg, errorString) {
alert("上传失败");
}
});

});
四 ; controller:
@RequestMapping(value="/uploadFile",method=RequestMethod.POST)
@ResponseBody
public void uploadFile(@RequestParam("headerImage")CommonsMultipartFile headerImage,HttpServletRequest req,HttpServletResponse response) throws IOException{

String path = FileUtil.upFile(headerImage,req,response,"pppp");
try {
response.setCharacterEncoding("utf-8");
response.getWriter().write(path);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

注意:有时候需要使用到File类型的文件
那么就需要将CommonsMultipartFile 类型的转换为
File类型的

DiskFileItem fi = (DiskFileItem)image.getFileItem();
File file = fi.getStoreLocation();

二 : 使用MultipartFile上传文件(多文件)
Controller层:
@RequestMapping("filesUpload")
public String filesUpload(@RequestParam("files") MultipartFile[] files) {
//判断file数组不能为空并且长度大于0
if(files!=null&&files.length>0){
//循环获取file数组中得文件
for(int i = 0;i<files.length;i++){
MultipartFile file = files[i];
//保存文件
saveFile(file);
}
}
// 重定向
return "redirect:/list.html";
}
上传文件
private boolean saveFile(MultipartFile file) {
// 判断文件是否为空
if (!file.isEmpty()) {
try {
// 文件保存路径
String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"
+ file.getOriginalFilename();
// 转存文件
file.transferTo(new File(filePath));
return true;
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}

三 : spring-uploadify上传文件的更多相关文章

  1. Uploadify 上传文件插件详解

    Uploadify 上传文件插件详解 Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中 ...

  2. SpringMVC+jquery.uploadify 上传文件

    前言 以前用Asp.net MVC+uploadify上传文件,最近学习SpringMVC,所以就用SpringMVC+uploadify做个上传文件的demo. 刚开始用form表单的方式提交,在C ...

  3. Spring Boot(十七):使用Spring Boot上传文件

    Spring Boot(十七):使用Spring Boot上传文件 环境:Spring Boot最新版本1.5.9.jdk使用1.8.tomcat8.0 一.pom包配置 <parent> ...

  4. Spring MVC上传文件

    Spring MVC上传文件 1.Web.xml中加入 <servlet> <servlet-name>springmvc</servlet-name> <s ...

  5. Spring MVC 上传文件

    Spring MVC上传文件需要如下步骤: 1.前台页面,form属性 method设置为post,enctype="multipart/form-data"  input的typ ...

  6. springboot(十七):使用Spring Boot上传文件

    上传文件是互联网中常常应用的场景之一,最典型的情况就是上传头像等,今天就带着带着大家做一个Spring Boot上传文件的小案例. 1.pom包配置 我们使用Spring Boot最新版本1.5.9. ...

  7. uploadify上传文件(2)--基础语法

    隔了好久,因为最近搬家,离开从小生活的城市,来到杭州.找工作.找房子等诸多事宜耽误了这篇文章许久.今天难得闲暇在旅馆中完成uploadify上传文件系列的第二篇--uploadify使用的基础语法. ...

  8. (转)Spring Boot(十七):使用 Spring Boot 上传文件

    http://www.ityouknow.com/springboot/2018/01/12/spring-boot-upload-file.html 上传文件是互联网中常常应用的场景之一,最典型的情 ...

  9. 使用Spring Boot上传文件

    原文:http://www.cnblogs.com/ityouknow/p/8298344.html 上传文件是互联网中常常应用的场景之一,最典型的情况就是上传头像等,今天就带着带着大家做一个Spri ...

  10. MVC3+jquery Uploadify 上传文件

    最近做项目用到了上传图片的功能,以前也写过这类代码,不过都是用传统的file标签,今天整理一个好用的插件Uploadify..都做了一些注释,一看便知. 可以去官网下载最新的:Uploadify下载地 ...

随机推荐

  1. bzoj 1486: [HNOI2009]最小圈

    Description Input Output Sample Input 4 5 1 2 5 2 3 5 3 1 5 2 4 3 4 1 3 Sample Output 3.66666667 HIN ...

  2. 闲来无事做了一个批处理的win10账号管理

    @echo off %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe&q ...

  3. Python练习100则--部分概念的没有做

    # coding = utf-8 import math, osfrom random import randint def Binary(): res = int(-1 / 2) res1 = in ...

  4. selenium爬取百度图片

    一:简介 通过selenium模块,模拟火狐浏览器进行搜索下载操作. 二:脚本内容 # -*- coding:utf-8 -*- # 百度图片自动爬去 # Chrome浏览器类似,设置其options ...

  5. Dubbo(二) 认识Zookeeper

    前言 在昨天,我们给大家基本介绍了Dubbo,文中反复提到了Zookeeper,那么它到底是什么呢,这篇文章我们将从Dubbo层面去了解Zookeeper,不做全面讲解,毕竟这是Dubbo教程啊~ Z ...

  6. C#语言和SQL Server第十三 十四章笔记

    十三章  使用ADO.NET访问数据库 十四章使用ADO.NET查询和操作数据库 十三章:                                                       ...

  7. dJango前言之 socketserver源码

    socketserver源码分析: ftpserver=socketserver.ThreadingTCPServer(('127.0.0.1',8080),FtpServer) ftpserver. ...

  8. PHP字符串处理与正则表达式

    字符串 1. PHP中的字符串是一种基本数据类型,PHP对unicode没有本地支持. 2. 字符串可以可以通过花括号来访问每一个字符,并且每个花括号只能存放一个字符:     $str = 'abc ...

  9. golang 栈操作

    Monk's Love for Food   Our monk loves food. Hence,he took up position of a manager at Sagar,a restau ...

  10. js 类数组arguments详解

    arguments并不是一个真正的数组,而是一个"类似数组(array-like)"的对象: 就像下面的这段输出,就是典型的类数组对象: [, , callee: ƒ, Symbo ...