1、前台代码
<a href="javascript:void(0);" ng-click="exportFile()" title="导出"><i class="icon-download-alt"></i></a>
$scope.exportFile = function() {
var temp ={};
temp.path = "aaa/bbb.txt"
$http({
url: contextPath+'/conf/download',
method: "POST",
data: JSON.stringify(temp),
cache: false
}).success(function(data, status, headers) {
var octetStreamMime = 'application/octet-stream';
// Get the headers
headers = headers();
// Determine the content type from the header or default to "application/octet-stream"
var contentType = headers['content-type'] || octetStreamMime;
try
{
// Try using msSaveBlob if supported
console.log("Trying saveBlob method ...");
var blob = new Blob([data], {type: contentType});
saveAs(blob, "filename.txt");//这里文件名写死了,可换成需要的文件名
} catch(ex)
{
console.log("saveBlob method failed with the following exception:");
console.log(ex);
}
});
};
前端使用angularJS、FileSaver.js [url] https://github.com/eligrey/FileSaver.js [/url]
2、后台代码
@RequestMapping(method = RequestMethod.POST,value="/conf/download")
public ResponseEntity<byte[]> download(@RequestBody Map<String,Object> params){
String path = (String)params.get("path");
File file = mappingService.getFile(path,type);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment",path);
return new ResponseEntity<byte[]>(RequestUtil.getBytesFromFile(file),headers,HttpStatus.CREATED);
}
3、配置文件
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<!--byte数组传输文件-->
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
<bean class = "org.springframework.http.converter.StringHttpMessageConverter">
<property name = "supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
分享到:
相关推荐
基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于...
springMvc实现文件断点下载实例项目,springboot maven项目
SpringMVC文件上传与下载的实现,包括UploadController和DownloadController
JavaEE企业级开发-----SpringMVC实现 文件的上传下载实验报告
极客学院java中级课程,SpringMVC系列教材——SpringMVC 实现文件上传下载、国际化等
springmvc + easyui实现文件下载,其中springmvc是使用了注解技术的
SpringMVC框架实现文件的上传和下载项目案例源码
springmvc实现文件上传和下载,里面有2个页面,一个是上传页面,一个是下载列表页面,用的是springmvc控制器,比较简单实现,欢迎下载!
springmvc注解和非注解两种方式实现,数据库是mysql
基于easyui+springmvc实现的文件管理系统
使用SpringMVC实现文件列表展示,文件上传,文件下载和文件删除
netty4.1整合SrpingMVC实现文件下载功能
这里是由Intelli IDEA 搭建的SpringMVC 系统, 实现了简单的文件上传下载功能
用springMVC 实现文件的上传、下载,含文件的压缩功能。
本文档主要介绍了SpringMVC的ModelAndView机制,使用SpringMVC实现文件上传,下载以及全局异常处理机制
开发步骤①导入SpringMVC相关坐标②配置SpringMVC核心控制器DispathcerServlet③创建Controller类和视图页面④使用注解配置Controller类中业务方法的映射地址⑤配置SpringMVC核心文件 spring-mvc.xml⑥客户端发起...
springmvc中实现文件上传所要用到的jar包
主要介绍了Springmvc实现文件下载2种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
springmvc实现的定时器,只有几行代码。 1、创建springmvc项目 2、创建xml文件 3、写定时处理任务类
springmvc框架的文件上传 下载:自己整理的一些错误:404等