<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<script src="${ctx}/jslib/uploadify/jquery.uploadify.js" type="text/javascript" charset="utf-8"></script>
<link href="${ctx}/jslib/uploadify/uploadify.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(function() {
//添加界面的附件管理
$("#file_upload").uploadify({
‘height‘ : 27,
‘width‘ : 80,
‘buttonText‘ : ‘添加附件‘,
‘queueID‘: ‘fileQueue‘, //队列的ID
‘queueSizeLimit‘:5,
‘swf‘ : ‘${ctx}/jslib/uploadify/uploadify.swf‘,
‘uploader‘ : ‘${ctx}/fileUpload/uploadFile‘,
‘auto‘ : false,
‘fileTypeExts‘ : ‘*.rar‘,
‘fileObjName‘ : ‘file‘,
‘multi‘ : true,
‘removeCompleted‘: false, //是否完成后移除序列,默认为true
‘fileSizeLimit‘: ‘100MB‘, //单个文件大小,0为无限制,可接受KB,MB,GB等单位的字符串值
‘onUploadSuccess‘:function(file, data, response){
var vv = data.split(‘|‘);
var bb = $("input[name=attachmentIds]").attr(‘value‘);
bb +="," + vv[0];
$("input[name=attachmentIds]").attr(‘value‘,bb);
bb = $("input[name=attachmentNames]").attr(‘value‘);
bb +="," + vv[1];
$("input[name=attachmentNames]").attr(‘value‘,bb);
//$.messager.alert("提示", "上传完毕!");
}
});
$(‘#documentId‘).combotree({
url : ‘${ctx}/dictionarytype/tree?code=documenttype‘,
parentField : ‘pid‘,
panelHeight : ‘auto‘,
onBeforeExpand : function(node, param) {
$(‘#documentId‘).combotree("tree").tree("options").url = "${ctx}/dictionarytype/trees?type=0&pId="
+ node.id;
}
});
$(‘#documentAddForm‘).form({
url : ‘${ctx}/document/add‘,
onSubmit : function() {
progressLoad();
var isValid = $(this).form(‘validate‘);
if (!isValid) {
progressClose();
}else{
var bb = $("input[name=attachmentIds]").attr(‘value‘);
var num = $("#file_upload").data(‘uploadify‘).queueData.queueLength;
if(bb=="" && num>0){
progressClose();
$.messager.show({
title : ‘提示‘,
msg : ‘<div class="light-info"><div class="light-tip icon-tip"></div><div>‘
+ "您你附件还没上传,请先上传附件!"
+ ‘</div></div>‘,
showType : ‘show‘
});
return false;
}
}
return isValid;
},
success : function(result) {
progressClose();
result = $.parseJSON(result);
if (result.success) {
parent.$.modalDialog.openner_dataGrid.datagrid(‘reload‘);//
$.messager
.show({
title : ‘提示‘,
msg : ‘<div class="light-info"><div class="light-tip icon-tip"></div><div>‘
+ result.msg
+ ‘</div></div>‘,
showType : ‘show‘
});
parent.$.modalDialog.handler.dialog(‘close‘);
}else{
parent.$.messager.alert(‘提示‘, result.msg, ‘warning‘);
}
}
});
});
function init(){
var attachments = $("input[name=attachmentIds]").attr(‘value‘);
$("input[name=attachmentIds]").attr(‘value‘,"");
$(‘#file_upload‘).uploadify(‘cancel‘, ‘*‘);
if(attachments!=""){
$.post(‘${ctx}/fileUpload/deleteFile‘, {
attachments : attachments
}, function(result) {
}, ‘json‘);
}
}
</script>
<div style="padding: 3px;">
<form id="documentAddForm" method="post">
<table class="grid">
<tr>
<td>标题</td>
<td colspan="3"><input name="title" type="text" placeholder="请输入字典编码" class="easyui-validatebox" data-options="required:true" style="width: 355px; height: 29px;" ></td>
</tr>
<tr>
<td>排序</td>
<td><input name="seq" value="0" class="easyui-numberspinner" style="width: 140px; height: 29px;" required="required" data-options="editable:false"></td>
<td>类别</td>
<td><select id="documentId" name="documentId" style="width: 140px; height: 29px;" data-options="required:true"></select></td>
</tr>
<tr>
<td>备注</td>
<td colspan="3"><textarea name="content" rows="5" cols="50" ></textarea></td>
</tr>
<tr>
<td>文档附件</td>
<td colspan="3">
<input name="attachmentIds" id="attachmentIds" type="hidden" class="easyui-validatebox" >
<input name="attachmentNames" id="attachmentNames" type="hidden" class="easyui-validatebox" >
<input type="file" name="file_upload" id="file_upload"/>
<a class="easyui-linkbutton" href="javascript:$(‘#file_upload‘).uploadify(‘upload‘, ‘*‘)">上传文件</a> | <a class="easyui-linkbutton" href="javascript:init()">取消上传</a>
</td>
</tr>
</table>
<div id="fileQueue" class="fileQueue"></div>
</form>
</div>
package east.mvc.controller.file; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Random; import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.util.FileCopyUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import east.mvc.controller.base.BaseController; import east.mvc.framework.constant.GlobalConstant; import east.mvc.model.base.Graph; import east.mvc.pageModel.base.Grid; import east.mvc.pageModel.base.PageFilter; import east.mvc.pageModel.base.SessionInfo; import east.mvc.pageModel.sys.MapHistory; import east.mvc.service.basic.GraphServiceI; import east.mvc.service.sys.MapHistoryServiceI; import east.mvc.utils.StringUtil; @Controller @RequestMapping("/fileUpload") public class FileUploadController extends BaseController { @RequestMapping(value="/uploadFile",method=RequestMethod.POST) public String uploadFile(HttpServletRequest request, HttpServletResponse response) throws IOException{ String responseStr = ""; MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // 获取前台传值 Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); // String ctxPath = // request.getSession().getServletContext().getRealPath("/")+ "\\" + // "images\\"; String configPath = File.separator + "upload" + File.separator; String ctxPath = request.getSession().getServletContext().getRealPath("/"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); String year = sdf.format(new Date()); configPath += year + File.separator; sdf = new SimpleDateFormat("MM"); String month = sdf.format(new Date()); configPath += month + File.separator; ctxPath += configPath; // 创建文件夹 File file = new File(ctxPath); if (!file.exists()) { file.mkdirs(); } String fileName = null; for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { // 上传文件名 // System.out.println("key: " + entity.getKey()); MultipartFile mf = entity.getValue(); fileName = mf.getOriginalFilename(); String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase(); SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss"); String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt; responseStr = configPath + newFileName + "|" + fileName; File uploadFile = new File(ctxPath + newFileName); try { FileCopyUtils.copy(mf.getBytes(), uploadFile); } catch (IOException e) { responseStr = "上传失败"; e.printStackTrace(); } } response.setHeader("Content-type", "text/html;charset=UTF-8"); //这句话的意思,是告诉servlet用UTF-8转码,而不是用默认的ISO8859 response.setCharacterEncoding("UTF-8"); response.getWriter().write(responseStr); return null; } @RequestMapping("/deleteFile") @ResponseBody public void getAreaIds(HttpServletRequest request, String attachments) { if(!attachments.equals("")){ String ctxPath = request.getSession().getServletContext().getRealPath("/"); attachments = attachments.substring(1); String[] value = attachments.split(","); for (int i = 0; i < value.length; i++) { File file = new File(ctxPath + "//" + value[i]); file.delete(); } } } }
http://files.cnblogs.com/files/xsmhero/uploadify.rar
原文:http://www.cnblogs.com/xsmhero/p/4334285.html