spring mvc 上传文件代码:
@RequestMapping(value = "/attach/upload") @ControllerLogAnnotation(moduleName="服务管理-合同管理-附件",option="上传") public void upload( String contractId, @RequestParam(value = "file", required = false) MultipartFile file, RedirectAttributes redirectAttributes, HttpServletResponse response) { String fileName = file.getOriginalFilename(); JSONObject jsonObject= new JSONObject(); try { InputStream fileInputStream = file.getInputStream(); String extension = FilenameUtils.getExtension(fileName); ContractAttach attach = new ContractAttach(); attach.setAttachName(fileName); attach.setContractId(contractId); byte[] attachContent =FileCopyUtils.copyToByteArray(fileInputStream); attach.setAttachContent(attachContent); service.addObj(attach); jsonObject = JsonResultBuilder.success(true).msg("上传成功!").json(); } catch (Exception e) { // redirectAttributes.addFlashAttribute("message", "流程部署失败!"); jsonObject = JsonResultBuilder.success(false).msg("上传失败!").json(); logger.error("上传失败!", e); } writeJson(response,jsonObject); }
数据mysql,直接写大数据到数据库的。
entity:
@Entity @Table(name = "t_contract_attach") public class ContractAttach implements java.io.Serializable { // Fields private String id; private String contractId; // private String attach; // @Lob // private Blob attachContent; //hibernate4已经取消createBlob private byte[] attachContent; private String attachName; .. @Column(name = "contract_id") public String getContractId() { return contractId; } @Column(name = "attach") public byte[] getAttachContent() { return attachContent; } }
表
此时可以上传任意文件,zip,rar,txt,jpg等等。但是如果上传文件过大会报错:mysql大数据默认只能最大1M数据,需要修改max_allowed_packet ,怎么改,看MySQL max_allowed_packet设置及问题。 同时应该也设置spring mvc里面的参数
<!-- 上传文件拦截,设置最大上传文件大小 10M=10*1024*1024(B)=10485760 bytes --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="${web.maxUploadSize}" /> </bean>
-------------------------------
下载没什么好说的,看代码:
前台弄个href连接到后台就行
@RequestMapping(value = "/attach/exportFile/{attachId}") @ControllerLogAnnotation(moduleName="服务管理-合同管理-附件",option="下载") public ResponseEntity<byte[]> exportFile( @PathVariable("attachId")String attachId, HttpServletResponse response) throws IOException { ContractAttach attach = service.uniqueEntity(ContractAttach.class, "id", attachId); String fileName = attach.getAttachName(); byte[] attachContent = attach.getAttachContent(); HttpHeaders headers = new HttpHeaders(); headers.setContentDispositionFormData("attachment", fileName); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); return new ResponseEntity<byte[]>(attachContent, headers, HttpStatus.CREATED); }
下载参考:http://blog.csdn.net/clj198606061111/article/details/20743769
相关推荐
在这个"Spring mvc+hibernate+mysql Demo"项目中,可能包含了一个简单的示例应用,展示了如何配置和使用这三个技术。"test"文件可能是测试代码或者测试数据,用于验证整个系统的正确性。测试可能涵盖了CRUD操作,...
总结来说,"Spring-MVC的demo"是一个全面的教程,涵盖了从数据库操作到Spring MVC核心概念的多个方面。通过学习和实践这个示例,开发者能够更好地理解和掌握Spring MVC框架的使用,以及如何构建基于MVC模式的Web应用...
"maven+spring MVC+Mybatis+jetty+mysql" 的组合是常见的开发栈,它涵盖了项目管理、前端控制器、持久层操作、应用服务器以及数据库管理等多个层面。下面将详细介绍这些关键技术及其在实际应用中的作用。 1. Maven...
在这个"Spring MVC+MySQL"的Demo中,开发者提供了一个可以直接运行的项目实例,用于演示如何将Spring MVC与MySQL数据库结合使用。这个项目在下载并解压后,可以直接在Apache Tomcat这样的Servlet容器中部署和运行。...
通过这个"Spring MVC+iBATIS+MySQL"的DEMO,你可以深入理解这三个组件如何协同工作,形成一个完整的Web应用系统。这个项目为你提供了实践这些技术的基础,你可以在此基础上扩展和优化,以适应更复杂的业务需求。
【Spring MVC 项目Demo】是一个基于Java开发的Web应用程序示例,它利用了Spring MVC、MyBatis、Maven、Jetty服务器以及IntelliJ IDEA作为集成开发环境,并且依赖MySQL数据库来存储数据。这个项目旨在展示如何将这些...
**Spring MVC3与MyBatis 3整合的Demo工程** Spring MVC和MyBatis是Java Web开发中的两个重要框架,Spring MVC负责控制层,而MyBatis则专注于数据访问层。这个Demo工程提供了如何将两者结合使用的实例,适用于Oracle...
在Spring MVC + iBATIS + MySQL + EasyUI的架构下,CRM系统可能包含模块如客户管理、销售机会管理、市场营销和客户服务等。开发者可以通过Spring MVC处理后端业务逻辑,iBATIS负责数据库操作,而EasyUI则提供直观的...
在本示例中,我们将深入探讨如何使用Spring MVC框架与Hibernate ORM工具来实现一个基本的添加功能。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,而Hibernate则是一个流行的Java对象关系映射(ORM)...
本项目"spring+spring mvc + mybatis + mysql"是一个基于这些技术的基础示例,旨在帮助开发者理解和实践SSM集成。 1. Spring框架: Spring是Java企业级应用的核心框架,它提供了一个容器来管理对象(包括依赖注入...
在这个Demo中,`index.jsp`、`fail.jsp`和`success.jsp`应该代表不同的视图页面,而`WEB-INF`目录下通常会包含`web.xml`,这是Spring MVC的部署描述符,用于配置DispatcherServlet和其他Servlet。 4. MyBatis:...
在这个"ssm多文件上传demo+mysql"项目中,主要涉及的是如何在SSM框架下实现多文件上传,并将文件信息存储到MySQL数据库中。 首先,我们需要理解SSM框架的工作原理。Spring作为基础框架,负责管理应用的bean和依赖...
在IT行业中,构建Web应用程序是一项常见的任务,而“两个Maven+Spring+Spring MVC+MyBatis+MySQL项目加数据库Demo”就是一个典型的Java Web开发示例。这个项目使用了几个核心的技术栈,包括Maven、Spring框架、...
在IT行业中,构建高效、可扩展的Web应用程序是至关重要的,而`mvc4+spring.net+nhibernate`的组合正是一种流行的选择。这个小例子展示了如何整合这三种技术来创建一个基于MVC架构的.NET应用程序,利用Spring.NET提供...
8. **依赖的 jar 包**:项目中应该包含了 Spring MVC、Hibernate、MySQL JDBC 驱动等相关库的 jar 文件。 这个示例项目对于初学者来说是一个很好的学习资源,因为它展示了如何在实际项目中整合 Spring MVC 和 ...
- 一旦下载了"Spring MVC Demo",你可以直接在MyEclipse环境中导入项目。 - 配置Tomcat服务器,设置项目的发布目录。 - 启动服务器,运行项目,然后通过浏览器访问应用。 7. **其他关键组件** - 视图解析器...
综上所述,这个项目是一个全面的Java Web应用示例,它演示了如何利用现代Java技术栈(Maven、Spring MVC、Hibernate、Dubbo和MySQL)来构建一个分布式、高可用性的系统。通过学习和理解这个示例,开发者可以深入掌握...
通过这个小demo,你可以学习到如何整合Spring MVC、MyBatis和MySQL来搭建一个简单的Web应用,理解它们各自的作用和相互间的协作方式,为后续的Java Web开发打下坚实的基础。在实践中,还可以进一步学习Spring Boot和...
提供的`demo.war`文件是一个Web应用归档文件,可以直接部署到支持Servlet 3.0以上的Tomcat服务器。只需将此文件复制到Tomcat的`webapps`目录下,服务器会自动解压并启动应用。同时,源码的提供意味着开发者可以查看...
【Spring+Hibernate+MySQL整合详解】 在Java Web开发中,Spring、Hibernate和MySQL是三个非常重要的组件。Spring作为一款全面的后端应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及MVC(模型-视图-控制器...