SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)
<link rel="stylesheet" type="text/css" href='<c:url value="/uploadify/uploadify.css"/>' />
<script src="<c:url value="/uploadify/jquery.uploadify.min.js"/>"type="text/javascript"></script>
<a class="task_btn_upload" href="javascript:$('#file_upload1').uploadify('upload','*')">开始上传</a>
<input type="file" name="file_upload" id="file_upload"/> $(function() {
$("#file_upload").uploadify({
'auto':false, //是否允许自动上传
'swf' : '../uploadify/uploadify.swf?var='
+(new Date()).getTime(), //引入flash
'buttonText':'', //设置button文字
'removeCompleted': true,//是否移除掉队列中已经完成上传的文件。false为不移除
'removeTimeout': 3,//设置上传完成后删除掉文件的延迟时间,默认为3秒。
'width ':'120', //按钮宽度
'method':'PSOT', //提交方式
'multi':'true', //是否多文件上传
'fileObjName' : 'myFile', //文件对象名称,用于后台获取文件对象时使用
'preventCaching':'true', //防止浏览器缓存
'formData':{'emergencyId':1111}, //动态传参
'queueID': 'custom-queue', //显示在某个div的位置 custom-queue div的id
'uploader' : 'emergencyQueryRevision.do?
method=addAnnex' , //提交后台方法路径
//onUploadStart 动态传参的关键
'onUploadStart':function(){
$("#file_upload").uploadify("settings","formData",
{'emergencyId': $("#id").val()});
},
'onFallback' : function() {//检测FLASH失败调用
alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
},
'onUploadSuccess':function(file, data, response){
var Data = eval('('+data+')');
// alert(file.name+"上传"+Data.result);
},
onError: function(event, queueID, file)
{
alert(file.name + " 上传失败");
},
'onQueueComplete':function(stats) {
//版本不一样方法也存在差异
alert("成功上传的文件数:" + stats.uploadsSuccessful + " =上传出错的文件数:" +stats.uploadsErrored + " -上传的文件总大小:" + stats.uploadSize);
cancel();
},
});
});
//上传附件
MultipartHttpServletRequest multipartRequest =
(MultipartHttpServletRequest) request;
MultipartFile file =multipartRequest.getFile("myFile");
//获取服务器地址
ServletContext sc = request.getSession().getServletContext();
//附件存放服务器路径
String dir = sc.getRealPath("/upload/yingjiwuzhi/");
//如果文件夹不存在,则创建文件夹
if (!new File(dir).exists()){
new File(dir).mkdirs();
}
String fileName = file.getOriginalFilename();
String realName = fileName.substring(0, fileName.indexOf("."));
//防止文件被覆盖,以纳秒生成文件名称
Long _l = System.nanoTime();
String _extName = fileName.substring(fileName.indexOf("."));
fileName = _l + _extName;
String uploadPath = request.getContextPath() +
"/upload/yingjiwuzhi/" + fileName;
//存储格式为:/项目名/upload/yingjiwuzhi/43038800303864.log
//存储到数据库的相对路径
String responseStr="";
try {
FileUtils.writeByteArrayToFile(new File(dir, fileName),
file.getBytes());//服务器中生成文件
responseStr="上传成功";
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
responseStr="上传失败";
}
//删除服务器上的附件
//获取服务器地址
ServletContext sc = request.getSession().getServletContext();
//项目名称
String projectName = request.getContextPath();
String annexId = request.getParameter("annexId");
String emergencyId = request.getParameter("emergencyId");
//附件路径 存储格式为:/项目名/upload/yingjiwuzhi/43038800303864.log
String annexPath=request.getParameter("path");
if(!"".equals(annexPath)&&annexPath!=null){
String path = annexPath.replace(projectName, "");
String filePath = sc.getRealPath(path.trim());
File file = new File(filePath);
// 如果文件路径所对应的文件存在,并且是一个文件,则直接删除
if (file.exists() && file.isFile()) {
if (file.delete()) {
map.put("result", "true");
} else {
map.put("result", "false");
}
} else {
file.delete();
map.put("result", "true");
}
}
SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)的更多相关文章
- Springmvc file多附件上传 显示 删除操作
之前项目需求要做一个多附件上传 并显示上传文件 带删除操作 一筹莫展之际搜到某个兄弟发的博客感觉非常好用被我copy下来了此贴算是改良版 再次感谢(忘记叫什么了时间也有点久没有历史记录了)先上图 基于 ...
- 跟版网 > 织梦教程 > 织梦安装使用 > 织梦DedeCMS附件上传大
织梦DedeCMS附件上传大小受限制,超过2M就不能上传了,针对此问题按如下方法修改: 1.进入后台→系统设置→系统基本参数→会员设置→会员上传文件大小(K),改成你需要限制的大小: 2.在dede ...
- java附件上传下载磁盘版
ACTION public class UploadAction extends BaseAction { private static final long serialVersionUID = 1 ...
- asp.net结合uploadify实现多附件上传
1.说明 uploadify是一款优秀jQuery插件,主要功能是批量上传文件.大多数同学对多附件上传感到棘手,现将asp.net结合uploadfiy如何实现批量上传附件给大家讲解一下,有什么不对的 ...
- 基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用
大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔<Web开发中的文件上传组件uploadify的使用>中可以看到,Asp.NET中 ...
- 使用plupload做一个类似qq邮箱附件上传的效果
公司项目中使用的框架是springmvc+hibernate+spring,目前需要做一个类似qq邮箱附件上传的功能,暂时只是上传小类型的附件 处理过程和解决方案都需要添加附件,处理过程和解决方案都可 ...
- 基于MVC4+EasyUI的Web开发框架形成之旅(4)--附件上传组件uploadify的使用
大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔<Web开发中的文件上传组件uploadify的使用>中可以看到,Asp.NET中 ...
- (转)基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用
http://www.cnblogs.com/wuhuacong/p/3343967.html 大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随 ...
- SpringMVC入手项目注解版
SpringMVC入手项目注解版 1.创建Maven项目在pom.xml文件引入相关的依赖 <dependencies> <dependency> <groupId> ...
随机推荐
- 根据业务自己设计的.NET工厂模式架构
最近项目的架构需要做调整优化,根据业务需要写了一个简单的工厂模式架构 项目介绍:整个系统分为三大平台(这里用A,B,C来标示),每个平台又细分为多个APP客户端(每个APP都有appid来区分) 因为 ...
- Block Functionality
Block Functionality A block is an anonymous inline collection of code that: Has a typed argument lis ...
- 优动漫PAINT新建文件
在优动漫PAINT软件中展开任何一项操作之前,都需要新建或打开图形文件.新建文件之后,用户可根据自己的需求进行相应的设置,这样将大大节省后期制作的时间! 在优动漫PAINT中新建图形文件的方法: 方法 ...
- Java中Scanner类的使用
一个可以解析基本类型和字符串的简单文本扫描器. 例如,以下代码使用户能够从 System.in 中读取一个数: public class ApiScanner { public static void ...
- Django 的 一些基本操作:视图函数,路由配置
当安装好Django 通过上篇的随笔创好项目我们就能来耍下了, 但你会在你的项目中发现有一个settings.py 的文件,对的你肯定想到了需要配置,好了话不多说 Settings.py 找到下面的位 ...
- 互联网组织的未来:剖析 GitHub 员工的任性之源
转自:http://innolauncher.com/github/ 互联网组织的未来:剖析 GitHub 员工的任性之源 This entry was posted in Blogon 一月 4, ...
- jquery bind 传参数
方法一. ? 1 2 3 4 function GetCode(event) { alert(event.data.foo); } ? 1 2 3 4 $(document).ready(functi ...
- BZOJ 4712 洪水 (线段树+树剖动态维护DP)
题目大意:略 题目传送门 数据结构好题,但据说直接上动态DP会容易处理不少,然而蒟蒻不会.一氧化碳大爷说还有一个$log$的做法,然而我只会$log^{2}$的.. 考虑静态时如何处理,设$f[x]$ ...
- 2019-03-29 Vagrant Docker Toolbox 下载安装
1.无脑安装Vagrant Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境.它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境. http ...
- 《黑白团团队》第八次团队作业:Alpha冲刺 第五天
项目 内容 作业课程地址 任课教师首页链接 作业要求 团队项目 填写团队名称 黑白团团队 填写具体目标 认真负责,完成项目 团队项目Github仓库地址链接. 第五天 日期:2019/6/19 成员 ...