springmvc文件上传使用uploadify插件
2016-02-02 09:40
295 查看
<!--引入jquery和uploadify的js文件 --> <script type="text/javascript" src="<%=path%>/resources/jslib/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="<%=path%>/resources/jslib/uploadify/jquery.uploadify.min.js"></script>
<script type="text/javascript"> $(function() { $("#file_upload").uploadify({ 'swf' : '<%=path%>/resources/jslib/uploadify/uploadify.swf', 'uploader' : '<%=path%>/xqlb/upload/filetype', 'auto': true, 'multi': true, 'onUploadComplete' : function(file) { alert('The file ' + file.name + ' finished processing.'); } }); }); </script>
<input type="file" name="file_upload" id="file_upload" />
//controller部分 @RequestMapping(value = "filetype") @ResponseBody public FileInfo upload(HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception { FileInfo fileInfo = fileUploadService.upload(-1,request); System.out.println(fileInfo); fileUploadService.save(fileInfo); return fileInfo; }
//service部分
@Service("fileUploadService") public class FileUploadService { private FileUploadDao fileUploadDao; private FileInfoReportDao fileInfoReportDao; public FileUploadDao getFileUploadDao() { return fileUploadDao; } @Inject public void setFileUploadDao(FileUploadDao fileUploadDao) { this.fileUploadDao = fileUploadDao; } public FileInfoReportDao getFileInfoReportDao() { return fileInfoReportDao; } @Inject public void setFileInfoReportDao(FileInfoReportDao fileInfoReportDao) { this.fileInfoReportDao = fileInfoReportDao; } /** * 文件上传 * @param file * @param request */ public FileInfo upload(int type, HttpServletRequest request) throws UnsupportedEncodingException { String fileName = ""; String rfileName = ""; long fileSize = 0; MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); String realPath = SystemContext.getRealPath()+"/resources/upload/"; String path =request.getContextPath()+"/resources/upload/"; File targetFile = new File(realPath); if (!targetFile.exists()) { targetFile.mkdirs(); } for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { MultipartFile mf = entity.getValue(); String str = mf.getOriginalFilename(); rfileName = new String(str.getBytes("iso8859-1"),"UTF-8"); //转换编码格式 所有上传的文件的编码格式都是iso8859-1 fileName = new Date().getTime() + rfileName.substring(rfileName.lastIndexOf("."), rfileName.length()); File uploadFile = new File(realPath, fileName); fileSize = mf.getSize(); try { FileCopyUtils.copy(mf.getBytes(), uploadFile); } catch (Exception e) { e.printStackTrace(); } } FileInfo fileInfo =initUploadInfo(fileName, rfileName, fileSize, path); return fileInfo; } /** * 初始化文件信息对象的值 * @param fileName * @param rfileName * @param fileSize * @param path * @return */ public FileInfo initUploadInfo(String fileName, String rfileName, long fileSize, String path) { FileInfo fileInfo = new FileInfo(); fileInfo.setReportName(fileName); fileInfo.setrReportName(rfileName); fileInfo.setFileSize(fileSize); fileInfo.setUrl(path + fileName); return fileInfo; } /** * 保存文件信息 * @param fileInfo */ public void save(FileInfo fileInfo){ fileUploadDao.add(fileInfo); } /** * 通过文件名查找文件信息 * @param fileName * @return */ public FileInfo findByFileName(String fileName){ FileInfo fileInfo=fileUploadDao.querySqlObject("select * from fileinfo where reportName='"+fileName+"'",null,null, FileInfo.class); return fileInfo; } /** * 通过id查找文件信息 * @param id * @return */ public FileInfo findById(int id){ FileInfo fileInfo=fileUploadDao.load(id); return fileInfo; } }
相关文章推荐
- 关于eclipse无法安装插件的问题
- java基础知识----IO篇
- 很有用的一个关于highcharts使用的网页
- 史上最详细的Highcharts使用指南
- 快速排序的原理及java代码实现
- java中值得注意的
- 举例讲解Java设计模式中的对象池模式编程
- Java类与文件
- java xml 框架 dom4j 解析 xml 字符串
- 传智播客168期JavaEE就业班(第四天 dom)
- JAVA_安装JDK和Eclipse
- 使用Maven在Eclipse搭建Web项目 有项目实例 绝对好用
- JAVA中List、Map、Set的区别与选用
- 搭建SSH三大框架WEB项目过程(Struts2.3+Hibernate4.3+Spring4.1)
- Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
- java.lang.*不用我们导入,编译器会自动给我们导入的,,,这个包是默认导入的。
- 可视化java jvm
- Java 实现动态代理实现AOP
- 我被Java包装类教育了(Long和Integer)
- java 的类和接口的变量调用