jeecg上传

单个上传页面

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%>
<!DOCTYPE html>
<html>
<head>
<title>文件列表</title>
<t:base type="jquery,easyui,tools"></t:base>
</head>
<body style="overflow-y: hidden" scroll="no">
<t:formvalid formid="formobj" layout="div" dialog="true" refresh="true" beforeSubmit="upload">
	<fieldset class="step">
	<div class="form">
		<t:upload name="fiels" buttonText="上传文件"  uploader="bidFilesInfoController.do?fileDeal&isup=1&type=1&fileId=${fileId} " 
		 onUploadSuccess="uploadSuccess"  callback="uploadCallback" extend="" id="file_upload" ></t:upload>
	</div>
	<div class="form" id="filediv" style="height: 50px">
		<div class="row" style="margin-left:20px;"></div>
	</div>
	</fieldset>
</t:formvalid>
<script type="text/javascript">
var serverMsg = "";
var responseData;
function uploadSuccess(response,file){
	responseData = response;
	$("#"+file.id).find(".sdata").text(' - Complete');
}
function uploadCallback(){
	var data = responseData;
	var win = frameElement.api.opener;
	if(data.success==true){
		win.reloadDatagrid();
		win.tip(data.msg);
		frameElement.api.close();
	}else{
		if(data.responseText==''||data.responseText==undefined){
			$.messager.alert('错误', data.msg);
			$.Hidemsg();
		}else{
			try{
				var emsg = data.responseText.substring(data.responseText.indexOf('错误描述'),
				data.responseText.indexOf('错误信息')); 
				$.messager.alert('错误',emsg);
				$.Hidemsg();
			}catch(ex){
				$.messager.alert('错误',data.responseText+"");
				$.Hidemsg();
			}
		} 
		return false;
	}
	
}
</script>
</body>
</html>

多个上传页面

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%>
<!DOCTYPE html>
<html>
<head>
<title>文件列表</title>
<t:base type="jquery,easyui,tools"></t:base>
</head>
<body style="overflow-y: hidden" scroll="no">
<t:formvalid formid="formobj" layout="div" dialog="true" refresh="true" beforeSubmit="upload" action="multiUploadController.do?doAdd">
	<table style="width: 600px;" cellpadding="0" cellspacing="1" class="formtable">
		<tr>
			<td align="center">
				<label class="Validform_label">
					模板文件:
				</label>
			</td>
			<td class="value">
				<div class="form">
				     <t:upload name="fiels" buttonText="上传文件"  uploader="bidFilesInfoController.do?fileDeal2&isup=1&type=2&fileId=${fileId}&uuid=${uuid} " 
					 onUploadSuccess="uploadSuccess"  callback="uploadCallback" extend="" id="file_upload" queueID="filediv" outhtml="false"></t:upload>
				</div>
				<div class="form" id="filediv" style="height: 150px">
					<div class="row" style="margin-left:20px;"></div>
				</div>
			</td>
		</tr>
	
		<tr>
			<td align="center">
				<label class="Validform_label">
					模板效果:
				</label>
			</td>
			<td class="value">
				<div class="form">
				     <t:upload name="fiels2" buttonText="上传文件"  uploader="bidFilesInfoController.do?fileDeal2&isup=1&type=3&fileId=${fileId}&uuid=${uuid} " 
					 onUploadSuccess="uploadSuccess"  callback="uploadCallback" extend="*.jpg;*.jpeg;*.png;*.gif;*.bmp;*.ico;*.tif" id="file_upload2" queueID="filediv2" outhtml="true"></t:upload>
				</div>
				<div class="form" id="filediv2" style="height: 150px">
					<div class="row" style="margin-left:20px;"></div>
				</div>
			</td>
		</tr>
	
	</table>
</t:formvalid>
<script type="text/javascript">
var serverMsg = "";
var responseData;
function uploadSuccess(response,file){
	responseData = response;
	$("#"+file.id).find(".sdata").text(' - Complete');
}
function uploadCallback(){
	var data = responseData;
	var win = frameElement.api.opener;
	if(data.success==true){
		win.reloadDatagrid();
		win.tip(data.msg);
		frameElement.api.close();
	}else{
		if(data.responseText==''||data.responseText==undefined){
			$.messager.alert('错误', data.msg);
			$.Hidemsg();
		}else{
			try{
				var emsg = data.responseText.substring(data.responseText.indexOf('错误描述'),
				data.responseText.indexOf('错误信息')); 
				$.messager.alert('错误',emsg);
				$.Hidemsg();
			}catch(ex){
				$.messager.alert('错误',data.responseText+"");
				$.Hidemsg();
			}
		} 
		return false;
	}
	
}
</script>
</body>
</html>

处理方法

/**
	 * WebUploader
	 * 文件上传处理/删除处理
	 * @throws Exception 
	 */
	@RequestMapping(params = "fileDeal", method = RequestMethod.POST)
    @ResponseBody
    public AjaxJson fileDeal(HttpServletRequest request, HttpServletResponse response) throws Exception {
        AjaxJson j = new AjaxJson();
        String msg="";
        String type=request.getParameter("type");
        String upFlag=request.getParameter("isup");//上传标识
        String delFlag=request.getParameter("isdel");//删除标识
        String swfTransform=request.getParameter("swfTransform");//是否将文件转换成swf
       // String ctxPath = request.getSession().getServletContext().getRealPath("");
        String ctxPath=ResourceUtil.getConfigByName("webUploadpath");//设置为D://upFiles,实际项目应因事制宜

        //默认上传文件是否转换为swf,实现在线预览功能开关
		String globalSwfTransformFlag = ResourceUtil.getConfigByName("swf.transform.flag");
		String fileId=request.getParameter("fileId");//上传文件id/项目id也当作文件id
		
        logger.debug("----ctxPath-----"+ctxPath);
        try {
	        //如果是上传操作
	        if("1".equals(upFlag) && oConvertUtils.isNotEmpty(fileId)){
	        	String fileName = null;
	        	
//	        	String bizPath=StoreUploadFilePathEnum.getPath(bizType);//根据业务id获取名称判断上传路径
	        	String bizPath="upload"+File.separator+"files";//上传路径
	        	String nowday=new SimpleDateFormat("yyyyMMdd").format(new Date());
	        	logger.debug("---nowday----"+nowday);
	    		File file = new File(ctxPath+File.separator+bizPath+File.separator+nowday);
	    		if (!file.exists()) {
	    			file.mkdirs();// 创建文件根目录
	    		}
	            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
	            MultipartFile mf=multipartRequest.getFile("file");// 获取上传文件对象

	            String orgName = mf.getOriginalFilename();// 获取文件名
	    		fileName = orgName.substring(0,orgName.lastIndexOf("."))+"_"+System.currentTimeMillis()+orgName.substring(orgName.indexOf("."));

	    		String savePath = file.getPath() + File.separator + fileName;
	    		String fileExt = FileUtils.getExtend(fileName);
	    		if("txt".equals(fileExt)){
	    			FileUtils.uploadTxtFile(mf, savePath);
	    		}else{
	    			File savefile = new File(savePath);
		    		FileCopyUtils.copy(mf.getBytes(), savefile);
	    		}
				
				String dbpath=bizPath+File.separator+nowday+File.separator+fileName;
				logger.debug("---dbpath----"+dbpath);
				if(dbpath.contains("\\")){
					dbpath = dbpath.replace("\\","/");
				}
				j.setObj(dbpath);
				//1、将文件路径赋值给obj,前台可获取之,随表单提交,然后数据库中存储该路径
				//2、这里用的是AjaxJson对象,开发者可自定义返回对象,但是用t标签的时候路径属性名需为  obj或 filePath 或自己在标签内指定若在标签内指定则action返回路径的名称应保持一致
				if("true".equals(globalSwfTransformFlag) && "true".equals(swfTransform)){
					//转换swf
					SwfToolsUtil.convert2SWF(savePath);
				}
				TSUser user = ResourceUtil.getSessionUser();//新版本
				String username=user.getRealName();
				String uid = UUID.randomUUID().toString();
				//新增表
				BidFilesInfoEntity filesInfo = new BidFilesInfoEntity();
				filesInfo.setId(uid);
				filesInfo.setType(type);
				filesInfo.setFileId(fileId);
				filesInfo.setFileName(orgName);
				filesInfo.setBasePath(dbpath);
				filesInfo.setRealPath(savePath);
				filesInfo.setCreateDate(new Date());
				filesInfo.setCreatePerson(username);
//				insertEntity(filesInfo);
				systemService.save(filesInfo);
				msg="上传成功";
				j.setMsg(msg);
			//如果是删除操作
	        }else if("1".equals(delFlag)){
	        	String delpath=request.getParameter("path");
//	        	String delpath=ctxPath+File.separator+path;
	        	File fileDelete = new File(delpath);
	    		if (!fileDelete.exists() || !fileDelete.isFile()) {
	    			msg="警告: " + delpath + "不存在!";
	    			logger.info(msg);
	    			j.setSuccess(true);//不存在前台也给他删除
	    		}else{
	    			if(fileDelete.delete()){
	    				msg="--------成功删除文件---------"+delpath;
	    				logger.info(msg);
	    				//删除swf/pdf文件
	    				if("true".equals(globalSwfTransformFlag) && "true".equals(swfTransform)){
	    					try {
	    						String swfPath = FileUtils.getSwfPath(delpath);
	    						new File(swfPath).delete();
	    						logger.info("--------成功删除swf文件---------"+swfPath);
	    						if(!delpath.endsWith("pdf")){
	    							String pdfPath = delpath.substring(0, delpath.lastIndexOf(".")+1)+"pdf";
	    							new File(pdfPath).delete();
		    						logger.info("--------成功删除pdf文件---------"+pdfPath);
	    						}
							} catch (Exception e) {
								logger.info("swf文件ORpdf文件未删除成功");
							}
	    				}
	    			}else{
	    				j.setSuccess(false);
	    				msg="没删除成功--jdk的问题还是你文件的问题请重新试试";
	    				logger.info(msg);
	    			}
	    		}
	        }else{
	        	throw new BusinessException("没有传参指定上传还是删除操作!");
	        }
        } catch (IOException e) {
			j.setSuccess(false);
			logger.info(e.getMessage());
		}catch (BusinessException b) {
			j.setSuccess(false);
			logger.info(b.getMessage());
		}
		j.setMsg(msg);
        return j;
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值