`
a137268431
  • 浏览: 146342 次
文章分类
社区版块
存档分类
最新评论

springMVC uploadify的应用

 
阅读更多
<form>
						<input id="uploadify" name="file" type="file"></input> <a
							href="javascript:$('#uploadify').uploadify('upload','*')">上传</a>|
						<a href="javascript:$('#uploadify').uploadify('cancel')"> 取消上传</a>
					</form>
					<script type="text/javascript">
						function query2() {
							var startTime2 = $('#start2').datetimebox(
									'getValue');
							var endTime2 = $('#end2').datetimebox('getValue');
							$.ajax({
								type : 'POST',
								url : 'dataGrid.do', //用户请求数据的URL
								data : {
									pageNumber : 1,
									pageSize : 2,//默认先为2
									start : startTime2,
									end : endTime2
								},
								error : function(XMLHttpRequest, textStatus,
										errorThrown) {
									alert(textStatus);
								},
								success : function(data) {
									// alert(data);
									test = eval("(" + data + ")"); ////转换为json对象
									//  alert(test);
									$('#dg').datagrid('loadData', test);

								}
							});
						}
						$(function() {//默认关闭dialog

							$('#dlg').dialog('close');
						});

						$(function() {
							$('#uploadify')
									.uploadify(
											{
												'swf' : '${ctxStatic}/uploadify/uploadify.swf',
												'uploader' : 'upload.do',
												'buttonText' : '浏览',
												'fileTypeDesc' : '添加你要上传的文件',
												'height' : 25,
												'width' : 70,
												'auto' : false,
												'multi' : true,
												'method' : 'post',
												//'progressData' : 'speed',//显示进度速度例如:35/kb
												// 'formData': {pid:'1'},  
												'fileObjName' : 'file',
												'fileSizeLimit' : '100MB',
												'removeTimeout' : 3,//移除提示成功时间
												'uploadLimit' : 3,//上传最大限度
												'fileTypeExts' : '*.*',//允许上传的类型
												'onQueueComplete' : function(
														queueData) {
													alert(queueData.uploadsSuccessful
															+ '个文件:上传成功!');
													window.location.reload();
												}
											//  ,'onUploadSuccess' : function(file, data, response) {
											///       alert(file.name +' :上传成功    保存路径为:' + data);
											// }

											});
						});
					</script>

后台:

@RequestMapping(value = "/upload.do", produces = "text/html; charset=UTF-8")
	public String upload(HttpServletRequest request, HttpServletResponse response) throws IOException {
		String responseStr = "";//返回信息
		
		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
		Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
		
		 String videoCtxPath=request.getSession().getServletContext().getRealPath("/")+StaticVariable.videoCcwz;
//		String videoCtxPath = StaticVariable.videoCcwz;// 指定自己的上传路径
		String ymd = DateUtils.getDate();//获取2013-12-17这种格式
		videoCtxPath += ymd + "/";

		// end 创建存储路径
		// start 创建文件夹
		FileUtils.createDirectory(videoCtxPath);//创建视频文件夹
//		File file = new File(ctxPath);
//		if (!file.exists()) {
//			file.mkdirs();
//		}
		// end 创建文件夹
		String fileName = null;
		String path = null;
		List<String> videoPaths=new ArrayList<String>();//视频存放路径的集合
		List<String> videoNames=new ArrayList<String>();//视频新名字的集合
		List<String> imgPahts=new ArrayList<String>();//图片的存放路径集合
		List<String> imgNames=new ArrayList<String>();//图片新名字的集合
		List<Long> fileSizes=new ArrayList<Long>();//文件大小的集合
		List<String> fileNames=new ArrayList<String>();//原本名字的集合
		for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
             
			MultipartFile mf = entity.getValue();
			fileName = mf.getOriginalFilename();// 获得源文件名
			fileNames.add(fileName);
            Long fileSize=mf.getSize();
            fileSizes.add(fileSize);//获取文件大小的集合
			String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1)
					.toLowerCase();

			String uuid = Identities.uuid();// 返回一个随机UUID。
			String suffix = fileName.indexOf(".") != -1 ? fileName.substring(
					fileName.lastIndexOf("."), fileName.length()) : null;
			String name = fileName.indexOf(".") != -1 ? fileName.substring(0,
					fileName.lastIndexOf(".")) : null;

			String newFileName = name + "-" + uuid
					+ (suffix != null ? suffix : "");// 构成新文件名。
			// System.out.println(newFileName);
			// start 创建文件
			
			path = videoCtxPath + newFileName;
			File uploadFile = new File(path);
			// end 创建文件
			
		
			try {
				// start 这句是用来在本地创建文件
				FileCopyUtils.copy(mf.getBytes(), uploadFile);// 这个是spring文件复制方法
				// end 这句是用来在本地创建文件
				
				//start 视频缩略图部分
				 String imgCtxPath=request.getSession().getServletContext().getRealPath("/")+StaticVariable.imgCcwz;
//				String imgCtxPath = StaticVariable.imgCcwz;// 指定自己的图片上传路径
				String imgYmd = DateUtils.getDate();//获取图片的生成日期
				imgCtxPath += imgYmd + "/";
				FileUtils.createDirectory(imgCtxPath);//创建图片文件夹
				java.util.Random r=new java.util.Random(); 
				for(int i=0;i<StaticVariable.imgCount;i++){
					String imgUuid = Identities.uuid();// 返回一个随机UUID。
		    		ThumbnailTool.processImg(path
		    				,imgCtxPath+imgUuid+".jpg",""+r.nextInt(200));
		    		imgNames.add(imgUuid+".jpg");//添加图片的名字
		    	}
				//end 视频缩略图部分
				
				videoPaths.add(videoCtxPath);//添加存储地址的集合
				videoNames.add(newFileName);//添加新的文件名
				imgPahts.add(imgCtxPath);//添加图片存储地址的集合
				
				responseStr = "上传成功";
			} catch (IOException e) {
				responseStr = "上传失败";
				e.printStackTrace();
			}
		}

		
		request.setAttribute("videoPaths",videoPaths);
		request.setAttribute("videoNames",videoNames);
		request.setAttribute("imgPahts",imgPahts);
		request.setAttribute("imgNames",imgNames);
		request.setAttribute("fileSizes",fileSizes);
		request.setAttribute("fileNames",fileNames);
		return "forward:"+Global.getAdminPath()+"/sites/video/videoSave.do";
	}

	
	


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics