三 : spring-uploadify上传文件
一 : 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上传文件的更多相关文章
- Uploadify 上传文件插件详解
Uploadify 上传文件插件详解 Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中 ...
- SpringMVC+jquery.uploadify 上传文件
前言 以前用Asp.net MVC+uploadify上传文件,最近学习SpringMVC,所以就用SpringMVC+uploadify做个上传文件的demo. 刚开始用form表单的方式提交,在C ...
- Spring Boot(十七):使用Spring Boot上传文件
Spring Boot(十七):使用Spring Boot上传文件 环境:Spring Boot最新版本1.5.9.jdk使用1.8.tomcat8.0 一.pom包配置 <parent> ...
- Spring MVC上传文件
Spring MVC上传文件 1.Web.xml中加入 <servlet> <servlet-name>springmvc</servlet-name> <s ...
- Spring MVC 上传文件
Spring MVC上传文件需要如下步骤: 1.前台页面,form属性 method设置为post,enctype="multipart/form-data" input的typ ...
- springboot(十七):使用Spring Boot上传文件
上传文件是互联网中常常应用的场景之一,最典型的情况就是上传头像等,今天就带着带着大家做一个Spring Boot上传文件的小案例. 1.pom包配置 我们使用Spring Boot最新版本1.5.9. ...
- uploadify上传文件(2)--基础语法
隔了好久,因为最近搬家,离开从小生活的城市,来到杭州.找工作.找房子等诸多事宜耽误了这篇文章许久.今天难得闲暇在旅馆中完成uploadify上传文件系列的第二篇--uploadify使用的基础语法. ...
- (转)Spring Boot(十七):使用 Spring Boot 上传文件
http://www.ityouknow.com/springboot/2018/01/12/spring-boot-upload-file.html 上传文件是互联网中常常应用的场景之一,最典型的情 ...
- 使用Spring Boot上传文件
原文:http://www.cnblogs.com/ityouknow/p/8298344.html 上传文件是互联网中常常应用的场景之一,最典型的情况就是上传头像等,今天就带着带着大家做一个Spri ...
- MVC3+jquery Uploadify 上传文件
最近做项目用到了上传图片的功能,以前也写过这类代码,不过都是用传统的file标签,今天整理一个好用的插件Uploadify..都做了一些注释,一看便知. 可以去官网下载最新的:Uploadify下载地 ...
随机推荐
- Java设计模式总汇一
PS:首先我们要带着问题读文章 什么是设计模式 为什么要用设计模式 使用设计模式有什么好处 设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了重用代码.让 ...
- 【二十七】php之绘图技术(gd、jpgraph、短信随机验证码)
1.绘图技术(GD库) 注意:使用该库,php.ini文件中的extension=php_gd2.dll必须是开启状态,不然无法使用 图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,p ...
- ADB 安卓开发配置环境
下载完后将名称中含有adb的文件,和fastboot.exe复制到 c:/windows/system32目录 或c:/windows/system64目录(看自己电脑系统配置 如电脑64操作系统就写 ...
- DES加解密、JavaScript、Java
JavaScript代码 DES.js /** * Created by Andy on 2017/11/30. */ /** * DES加密/解密 * @Copyright Copyright ...
- CSS3的动画属性
transition.animation和transform是CSS3中三个制作动画的重要属性,本篇文章主要对其进行学习了解. 一.transition transition允许css的属性值在一定的 ...
- vmware一步步安装centos
软件环境:vmware10.0破解版 centos版本:6.4 1.启动vmware,新建虚拟机,选择自定义安装 2,出现如下界面,保持默认,点击下一步 3.这个步骤要特别注意,选择“稍后安装”,我们 ...
- [js高手之路] es6系列教程 - new.target属性与es5改造es6的类语法
es5的构造函数前面如果不用new调用,this指向window,对象的属性就得不到值了,所以以前我们都要在构造函数中通过判断this是否使用了new关键字来确保普通的函数调用方式都能让对象复制到属性 ...
- php 运算符and or && || 的详解
想弄清这个问题,首先要了解这些运算符的优先级:了解后,我们才知道,逻辑运算和赋值运算的执行顺序: //and or 的优先级小于 = //&& || 的优先级大于 = //or-前面语 ...
- BCB F12切换界面 显示异常
亲们,我偶遇了一个小怪兽F12切换界面,效果如下: 还没有解决办法:
- python 学习源码练习(2)——简单文件读取
#文件创建 #!/usr/bin/python3 'makeTextFile.py--create text file' import os ls = os.linesep #get filename ...