uploadify 302 java_SpringMVC+uploadify3.2.1版实现附件上传功能

$(function() {

$("#file_upload").uploadify({

'auto':false,       //是否允许自动上传

'swf' : '../uploadify/uploadify.swf?var='

+(new Date()).getTime(), //引入flash

'buttonText':'',     //设置button文字

'width ':'120',      //按钮宽度

'method':'PSOT',                     //提交方式

'multi':'true',      //是否多文件上传

'fileObjName' : 'myFile',   //文件对象名称,用于后台获取文件对象时使用

'preventCaching':'true',   //防止浏览器缓存

'formData':{'emergencyId':1111}, //动态传参

'queueID': 'custom-queue',   '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");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值