@RequestMapping(value = "/uploadt", produces = "text/html;charset=UTF-8") @ResponseBody public String addCaseResult(HttpServletRequest request, CaseResult caseResult, @RequestParam(value = "file", required = false) MultipartFile file) { String filePath = ""; if (file != null && !file.isEmpty()) { String orName = file.getOriginalFilename(); String guid = request.getParameter("guid"); filePath = fileUpladPath + "/" + guid + "_" + orName; File outFile = new File(filePath); try { file.transferTo(outFile); } catch (Exception e) { logger.error(e.getMessage()); } } ajax.setSuccess(true); ajax.setMsg("上传成功"); ObjectMapper om = new ObjectMapper(); try { return om.writeValueAsString(ajax); } catch (Exception e) { logger.error(e.getMessage()); return ""; } }
spring 配置 <!-- 这里申明的id必须为multipartResolver --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="100000" /> </bean>
@RequestMapping(value = "/fileIsExists") @ResponseBody public AjaxJson fileIsExists( @RequestParam(value = "filePath", required = false) String filePath) { AjaxJson ajax = new AjaxJson(); if (new File(filePath).exists()) { ajax.setSuccess(true); } else { ajax.setSuccess(false); ajax.setMsg("附件不存在"); } return ajax; } /** * 下载附件 */ @RequestMapping("downloadFile") public ModelAndView downloadFile( @RequestParam(value = "filePath", required = false) String filePath, HttpServletRequest request, HttpServletResponse resp) { resp.setContentType("application/x-msdownload;"); try { request.setCharacterEncoding("UTF-8"); } catch (UnsupportedEncodingException e) { logger.error(e.getMessage()); } BufferedInputStream bis = null; BufferedOutputStream bos = null; File file = new File(filePath); if (file.exists()) { try { long fileLength = file.length(); filePath = filePath.replace("\\", "/"); String fileName = filePath.substring(filePath.lastIndexOf("/") + 1); resp.setContentType("application/x-msdownload;"); resp.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1")); resp.setHeader("Content-Length", String.valueOf(fileLength)); bis = new BufferedInputStream(new FileInputStream(filePath)); bos = new BufferedOutputStream(resp.getOutputStream()); byte[] buff = new byte[2048]; int byteRead; while (-1 != (byteRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, byteRead); } } catch (Exception e) { logger.error(e.getMessage()); } finally { closeStream(bis, bos); } } return null; } private void closeStream(BufferedInputStream bis, BufferedOutputStream bos) { try { if (bis != null) { bis.close(); } if (bos != null) { bos.close(); } } catch (IOException e) { logger.error(e.getMessage()); } }
var dataInfo = { cases: cases, description: description,password:password,insertUser:insertUser,fromUser:fromUser} ; $.ajaxFileUpload({ type : "POST", secureuri :false, url : '<%=request.getContextPath()%>/ws/caseResult/addCaseResult?guid='+guid, data : dataInfo, dataType: 'json', fileElementId: 'file', error : function(data, status, e) { alert(data.message); }, success : function(data, status) { var msg = data.msg; var success = data.success; if(success){ alert(msg); window.location.href="<%=request.getContextPath()%>/ws/caseResult/list"; }else{ alert(msg); } } });
<form name="form" id="caseResultForm" method="post" enctype="multipart/form-data"> <li class="name_width">附件:</li> <li class="reg_input"><input type="file" name="file" id="file"/></li> </form>
相关推荐
在这个场景下,我们将讨论如何结合前端JavaScript库ajaxfileupload.js实现文件的无刷新上传,提高用户体验。 首先,我们需要理解SpringMVC的工作原理。SpringMVC是一个模型-视图-控制器(MVC)架构模式的实现,它...
例如:java 使用 spring mvc 则需 @RequestMapping(value = "/xx/xx/upload.do",produces="text/html") 此文件中 判断 IE 版本 使用的是 jquery 的 support属性submitBubbles,其含义是,浏览器是否支持 dom 冒泡
ajaxFileUpload.js是一个JavaScript库,用来实现文件上传的异步处理。在Web开发中,跨域问题是一个常见的难题,它涉及到浏览器安全策略限制了Web页面跟不同源的服务器进行交互。跨域资源共享(CORS)是解决跨域问题...
- **Java后端代码处理**: 在服务器端,使用Spring MVC框架中的@RequestMapping来处理上传的文件和数据。 ```java @RequestMapping(value = "/importPicFile.do", produces = "text/html;charset=utf-8") @...
总结来说,结合`ajaxFileUpload.js`和`Spring MVC`,我们可以轻松地在Web应用中实现无刷新的文件上传功能。这种方式既提高了用户体验,又充分利用了Spring MVC的灵活性和强大的功能。记得在实际开发中,根据项目需求...
5. **AjaxFileUpload.js**:这是一个JavaScript库,用于在客户端实现Ajax文件上传。它封装了与服务器交互的细节,如创建XMLHttpRequest对象、处理文件选择事件以及发送异步请求。 实现步骤如下: 1. **前端HTML**...
标题中的“完美SS2H+ajaxfileupload异步上传多个附件、删除”涉及到的是一个Web应用中的文件上传功能实现,具体来说,它结合了Spring Security(SS)和Struts2 (SH)两个框架,并利用ajaxfileupload.js这个JavaScript...
本实例将重点讲解如何在Spring MVC框架下利用AjaxFileUpload实现文件上传,并探讨后台处理文件上传请求的相关代码。 首先,AjaxFileUpload是jQuery的一个插件,它通过创建隐藏的IFrame来模拟表单提交,从而实现在...
本示例将探讨如何结合Spring MVC和Ajax技术实现一个支持文本域和文件域的表单上传功能,同时利用ajaxfileupload.js插件来优化用户体验。让我们深入研究这个过程。 首先,`SpringMVC_Upload`这个压缩包很可能包含了...
而SpringMVC作为Java后端的一个强大的MVC框架,提供了处理文件上传请求的能力。本文将详细介绍如何结合 `AjaxFileUpload` 和 `SpringMVC` 实现文件上传。 ### 1. 引入库和配置 首先,确保在项目中引入了jQuery库...
在Web开发中,文件上传是一项常见的功能,而AjaxFileUpload是一种使用JavaScript和Ajax技术实现无刷新文件上传的方式。本文将详细讲解如何通过AjaxFileUpload在控制器(Controller)和JavaScript端实现文件上传的...
在本例中,可能还涉及到了`ajaxfileupload.js`,这是一个JavaScript库,可能用于实现异步文件上传,这样用户无需等待整个文件上传完成即可继续浏览其他页面内容。`AjaxFileUpload`可能是这个库中的一个类或方法,它...
首先,`ajaxfileupload.js`是一个JavaScript库,用于实现异步文件上传,尤其是图片文件。这种技术允许用户在不刷新页面的情况下上传文件,提升用户体验。 异步文件上传的核心在于AJAX(Asynchronous JavaScript and...
Spring MVC提供了处理文件上传的便利支持,例如`MultipartFile`接口用于接收上传的文件。 5. **最佳实践**: 在实际应用中,为了保证数据安全性和性能,需要考虑错误处理、数据类型转换、文件大小限制、并发处理等...
`ajaxFileUpload`是一个JavaScript库,用于实现异步(Ajax)文件上传,提供了一种无需刷新页面就能完成文件上传的方式,极大地提升了用户体验。本项目是一个基于Java的工程演示了如何使用ajaxFileUpload进行文件上传...
SpringMVC是Java Web开发中的一个强大框架,而AJAXFileUpload则是一个用于异步文件上传的JavaScript库,能够提供用户友好的体验。 ### SpringMVC 框架简介 SpringMVC是Spring框架的一个模块,专门用于构建Web应用...
在 Spring MVC 框架中,这通常是一个带有 `@RequestMapping` 注解的方法,接收 `HttpServletRequest` 和 `HttpServletResponse` 参数,以便读取上传的文件和响应客户端。例如: ```java @SuppressWarnings(...
这里使用了`ajaxfileupload.js`这个插件来处理文件上传,它简化了Ajax文件上传的过程。以下是JSP页面的部分代码: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> ${ctx}/resources/new_js/...