`

spring mvc 上传下载文件demo(上传到mysql里面)

 
阅读更多

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

  • 大小: 7.2 KB
0
0
分享到:
评论

相关推荐

    Spring mvc+hibernate+mysql Demo

    在这个"Spring mvc+hibernate+mysql Demo"项目中,可能包含了一个简单的示例应用,展示了如何配置和使用这三个技术。"test"文件可能是测试代码或者测试数据,用于验证整个系统的正确性。测试可能涵盖了CRUD操作,...

    Spring-MVC的demo

    总结来说,"Spring-MVC的demo"是一个全面的教程,涵盖了从数据库操作到Spring MVC核心概念的多个方面。通过学习和实践这个示例,开发者能够更好地理解和掌握Spring MVC框架的使用,以及如何构建基于MVC模式的Web应用...

    maven+spring MVC+Mybatis+jetty+mysql

    "maven+spring MVC+Mybatis+jetty+mysql" 的组合是常见的开发栈,它涵盖了项目管理、前端控制器、持久层操作、应用服务器以及数据库管理等多个层面。下面将详细介绍这些关键技术及其在实际应用中的作用。 1. Maven...

    Spring MVC+mysql

    在这个"Spring MVC+MySQL"的Demo中,开发者提供了一个可以直接运行的项目实例,用于演示如何将Spring MVC与MySQL数据库结合使用。这个项目在下载并解压后,可以直接在Apache Tomcat这样的Servlet容器中部署和运行。...

    spring mvc+ibatiS+mysql代码

    通过这个"Spring MVC+iBATIS+MySQL"的DEMO,你可以深入理解这三个组件如何协同工作,形成一个完整的Web应用系统。这个项目为你提供了实践这些技术的基础,你可以在此基础上扩展和优化,以适应更复杂的业务需求。

    Spring MVC 项目Demo

    【Spring MVC 项目Demo】是一个基于Java开发的Web应用程序示例,它利用了Spring MVC、MyBatis、Maven、Jetty服务器以及IntelliJ IDEA作为集成开发环境,并且依赖MySQL数据库来存储数据。这个项目旨在展示如何将这些...

    spring MVC3 + mybatis 3 - demo工程

    **Spring MVC3与MyBatis 3整合的Demo工程** Spring MVC和MyBatis是Java Web开发中的两个重要框架,Spring MVC负责控制层,而MyBatis则专注于数据访问层。这个Demo工程提供了如何将两者结合使用的实例,适用于Oracle...

    spring mvc+ibatis+mysql+easyui简单demo

    在Spring MVC + iBATIS + MySQL + EasyUI的架构下,CRM系统可能包含模块如客户管理、销售机会管理、市场营销和客户服务等。开发者可以通过Spring MVC处理后端业务逻辑,iBATIS负责数据库操作,而EasyUI则提供直观的...

    spring mvc框架实现添加功能Demo

    在本示例中,我们将深入探讨如何使用Spring MVC框架与Hibernate ORM工具来实现一个基本的添加功能。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,而Hibernate则是一个流行的Java对象关系映射(ORM)...

    spring+spring mvc + mybatis + mysql

    本项目"spring+spring mvc + mybatis + mysql"是一个基于这些技术的基础示例,旨在帮助开发者理解和实践SSM集成。 1. Spring框架: Spring是Java企业级应用的核心框架,它提供了一个容器来管理对象(包括依赖注入...

    Maven+Spring+Spring MVC+MyBatis+MySQL整合SSM框架Demo

    在这个Demo中,`index.jsp`、`fail.jsp`和`success.jsp`应该代表不同的视图页面,而`WEB-INF`目录下通常会包含`web.xml`,这是Spring MVC的部署描述符,用于配置DispatcherServlet和其他Servlet。 4. MyBatis:...

    ssm多文件上传demo+mysql

    在这个"ssm多文件上传demo+mysql"项目中,主要涉及的是如何在SSM框架下实现多文件上传,并将文件信息存储到MySQL数据库中。 首先,我们需要理解SSM框架的工作原理。Spring作为基础框架,负责管理应用的bean和依赖...

    两个Maven+Spring+Spring MVC+MyBatis+MySQL项目加数据库Demo

    在IT行业中,构建Web应用程序是一项常见的任务,而“两个Maven+Spring+Spring MVC+MyBatis+MySQL项目加数据库Demo”就是一个典型的Java Web开发示例。这个项目使用了几个核心的技术栈,包括Maven、Spring框架、...

    mvc4+spring.net+nhibernate小例子

    在IT行业中,构建高效、可扩展的Web应用程序是至关重要的,而`mvc4+spring.net+nhibernate`的组合正是一种流行的选择。这个小例子展示了如何整合这三种技术来创建一个基于MVC架构的.NET应用程序,利用Spring.NET提供...

    spring-mvc + hibernate Demo

    8. **依赖的 jar 包**:项目中应该包含了 Spring MVC、Hibernate、MySQL JDBC 驱动等相关库的 jar 文件。 这个示例项目对于初学者来说是一个很好的学习资源,因为它展示了如何在实际项目中整合 Spring MVC 和 ...

    Spring MVC demo

    - 一旦下载了"Spring MVC Demo",你可以直接在MyEclipse环境中导入项目。 - 配置Tomcat服务器,设置项目的发布目录。 - 启动服务器,运行项目,然后通过浏览器访问应用。 7. **其他关键组件** - 视图解析器...

    maven+spring mvc+hibernate+dubbo+mysql的demo源码

    综上所述,这个项目是一个全面的Java Web应用示例,它演示了如何利用现代Java技术栈(Maven、Spring MVC、Hibernate、Dubbo和MySQL)来构建一个分布式、高可用性的系统。通过学习和理解这个示例,开发者可以深入掌握...

    Springmvc+mybatis+mysql

    通过这个小demo,你可以学习到如何整合Spring MVC、MyBatis和MySQL来搭建一个简单的Web应用,理解它们各自的作用和相互间的协作方式,为后续的Java Web开发打下坚实的基础。在实践中,还可以进一步学习Spring Boot和...

    基于spring-MVC的在线测试系统(客观题)

    提供的`demo.war`文件是一个Web应用归档文件,可以直接部署到支持Servlet 3.0以上的Tomcat服务器。只需将此文件复制到Tomcat的`webapps`目录下,服务器会自动解压并启动应用。同时,源码的提供意味着开发者可以查看...

    spring+hibernate+mysql整合Demo

    【Spring+Hibernate+MySQL整合详解】 在Java Web开发中,Spring、Hibernate和MySQL是三个非常重要的组件。Spring作为一款全面的后端应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及MVC(模型-视图-控制器...

Global site tag (gtag.js) - Google Analytics