SpringMvc之java文件下载】的更多相关文章

首先强调,需要下载的文件只能放在项目中的webapp下 1.页面的一个超链接,链接到controller <a href="<%=path%>/download">点击下载文件</a> 2.controller中的代码: @RequestMapping("/download") @ResponseBody public void downLoadExcelModel(HttpServletRequest request,HttpS…
今天给报告系统做了个下载功能,遇到了挺多问题,通过查资料一一解决了. 1.首先遇到的问题是:java后台的输出流输出之后,没有任何报错,浏览器端不弹出保存文件的对话框,原本是ajax请求到后台的controller方法中添加了下载的方法,type和async两个参数的四种组合都不行,弃用ajax,用window.location.href='file/download?path='+file;重新发一个新的下载请求之后,保存对话框终于弹出. 2.弹出之后,发现文件名乱码,后台的解决方案代码如下:…
1.在IDEA中新建Maven工程,使用archetype. 2.添加Maven依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <…
JAVA文件下载时乱码有两种情况: 1,下载时中文文件名乱码 2,下载时因为路径中包含中文文件名乱码,提示找不到文件 解决方法见下面部分代码 response.setContentType("multipart/form-data"); String userAgent = request.getHeader("User-Agent"); String oraFileName = meetingFile.getFileName(); String formFileN…
idea调试springmvc出现java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 解决办法: Project Structure-Artifacts-Output Layout,选择Put into Output Root,这样lib包就会加到WEB-INF下了,就能找到类了:…
Java 文件下载工具类 import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static Logger logger = LoggerFactory.getLogger(DownloadUtil.class); 文件下载方法 /** * 文件下载方法 * @param response * @param filePath * @param encode */ public static void download(H…
项目代码:https://github.com/PeiranZhang/springmvc-fileupload 使用文件下载步骤 对请求处理方法使用void或null作为返回类型,并在方法中添加HttpServletResponse参数 将响应的内容类型设为文件的内容类型 添加一个名为Content-Disposition的HTTP响应标题,并赋值attachment; filename= fileName,这里的fileName是默认文件名,应该出现在File Download(文件下载)对…
1. HttpMessageConverter消息转换器 (1) HttpMessageConverter接口源码: public interface HttpMessageConverter<T> { boolean canRead(Class<?> clazz, MediaType mediaType); boolean canWrite(Class<?> clazz, MediaType mediaType); List<MediaType> getS…
该案例的github地址:https://github.com/zhouyanger/demo/tree/master/springmvc-noxml-demo 1.介绍 之前搭建SpringMvc项目要配置一系列的配置文件,比如web.xml,applicationContext.xml,dispatcher.xml.Spring 3.X之后推出了基于JavaConfig方式以及注解的形式的配置.在一定程度上简化了Spring项目的配置.近几年特别火的SpringBoot,大大的简化了创建项目…
1.文件下载(亲测可用) private static final int BUFFER = 2 * 1024;// 缓冲区大小(2k)private boolean isSuccess = true;//成功标志 public void downFile(String urlStr, String path, String fileName) { OutputStream output = null; try { URL url = new URL(urlStr); HttpURLConnec…
@RequestMapping("/downloadFile") @ResponseBody public void download(String uploadPathUrl, HttpServletRequest request, HttpServletResponse resp) throws Exception { //获取服务器绝对路径 这里获取的是配置文件中所配置的地址 String path =PropertiesUtil.getInstance().getSysPro(…
/** * 返回文件二进制 * */ @GET @Path("/excel") @Produces("application/vnd.ms-excel; charset=UTF-8") @ModuleSecurityAuth(moduleId=ModuleId.MONITOR_REPORT ,privilegeOperation=PrivilegeOperation.READ) public Response download(final @QueryParam(&…
/** * 文件下载 * @param filePath 文件路径 * @param fileName 文件名称 */ public void download(String filePath,String fileName){ try { //支持中文 fileName = URLEncoder.encode(fileName,"UTF-8"); HttpServletResponse response = ServletActionContext.getResponse(); Ht…
在下载文件时,经常遇到文件名乱码等问题. 本文说明如何编码文件名,以及如何设置HttpServletResponse对象. 1,如何编码文件名 String userAgent = request.getHeader("User-Agent"); if (/* IE 8 至 IE 10 */ userAgent.toUpperCase().contains("MSIE") || /* IE 11 */ userAgent.contains("Trident…
Html部分 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <a href="http://localhost:8080/webdemojava/download1?filename=a.flv" class=&…
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //创建要下载的文件的对象(参数为要下载的文件在服务器上的路径) File serverFile=new File("D:/myText.doc"); //设置要显示在保存窗口的文件名,如果文件名中有中文的话,则要设置字符集,否则会出现乱码.另外,要写上文件…
经过测试  firefox.QQ.IE 浏览器是可以的  chrome浏览器不行(直接下载了) 1. 系统框架springmvc+jsp 2. 后台servlet代码 @RequestMapping("download") public void download(HttpServletRequest request,HttpServletResponse response){ BufferedInputStream dis = null; BufferedOutputStream f…
例子:https://blog.csdn.net/huaidandaidai1/article/details/81979704 原因: 在java中,如果一个类A没有自己写构造方法,那么java会自动给他创建一个无参构造器 如果这个类A自己写了,那么java就不操心了. 但是,这种情况下如果在方法中,调用了new A()这个无参方法时,就会出错.而Spring MVC会使用这个无参方法,所以报错 建议:什么情况下,都显式声明无参构造函数…
实例: String poorName= dataMap.get("NAME").toString(); String villageName = dataMap.get("ADDRESS").toString(); String filename=villageName+"-"+poorName+".doc"; response.setContentType("application/doc"); fin…
/** * zip 导出 * @param response * @param zipName * @throws Exception */ private void outZip(HttpServletResponse response, String zipName) throws Exception { // tempFilePath 为服务器上文件保存路径 String zipPathName = tempFilePath + File.separator + zipName; Buff…
public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径. File file = new File(path); // 取得文件名. String filename = file.getName(); // 取得文件的后缀名. String ext = filename.substring(filename.lastIndexOf(".&qu…
页面设置隐藏的iframe <iframe id='reqFrame' frameborder='0' style='display:none' allowtransparency='true' ></iframe> 页面下载按钮 <a class="easyui-linkbutton" data-options="iconCls:'icon-ok'" title="/demo/省本部固定资产明细表.xlsx" id…
public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径. File file = new File(path); // 取得文件名. String filename = file.getName(); // 取得文件的后缀名. String ext = filename.substring(filename.lastIndexOf(".&qu…
在客户端下载文件时替换下载文件的名称,但是当名称是中文时浏览器会出现乱码,解决代码如下: public org.springframework.http.ResponseEntity<InputStreamResource> handleExcel(HttpServletRequest request) throws Exception { String fileName = "模板下载.xsls"; //解决浏览器下载汉字乱码的兼容问题 String userAgent…
前台代码: $("#btnExport").click(function(){ top.$.jBox.confirm("确认要导出房屋信息吗?","系统提示",function(v,h,f){ if(v=="ok"){ $("#searchForm").attr("action","${ctx}/sys_house_apply/sysHouseApply/exportsd&qu…
文件的下载在web开发中应该是很常用的功能,近期项目中遇到的一个需求是:前端提供 查询条件以及查询结果的字段,后端拿到这些参数之后,在数据库中根据业务逻辑查询得出查询结果,导出成excel文件,同时传给前端,前端下载完文件之后,生成的文件自动删除,防止服务器硬盘过载. 与普通的http请求不同的是:后端的返回头中必须设置Content-Disposition值:"attachment; filename=" + fileName, 前端不能使用jquery封装的ajax请求,因为:该请…
问题描述: 在springmvc中实现文件下载功能一般都会使用javax.servlet.ServletOutputStream out = response.getOutputStream();封装下载的工具类,稍后我会分享该工具类. 当使用了response.getOutputStream()后,由于在同一个请求中JSP或Servlet中同时调用了Response的getWriter和getOutputStream就会抛此异常,异常部分代码如下: 严重: Servlet.service()…
前言 最近严查security, 导致原来暴露出去的s3不能用了,不允许public的s3,暂时的折中方案是自己做跳转.于是需要在SpringMVC中实现文件下载功能. 关于文件存储的设计 文件存储通常用作对象存储,业界标准就是AWS s3, 国内的七牛也差不多.不想自建的话,采用这种第三方存储是很方便的.但是,有写地方需要注意. 安全问题 就像这次整改遇到的,权限问题大概是对象存储必须具备的.s3的权限特别多和复杂,可以做到认证user访问: 指定ip访问: 指定IAM Role访问: 指定第…
配置DispatcherServlet DispatcherServlet的是SpringMVC的核心.在这里请求会第一次接触都框架,它要负责将请求路由到其他的组件之中. 使用Java配置将DispatcherServlet配置在Servlet容器中. WebAppInitializer.java /** * 配置DispatcherServlet * * @author wxz * */ public class WebAppInitializer extends AbstractAnnota…
在此之前,一直使用的是XML的方式配置SpringMVC,现在为了适应Servlert3.0以及JavaConfig的Spring配置方式,在这里记录一下使用Java代码配置SpringMVC.首先,来回顾一下使用XML配置的过程: 1.在web.xml中配置DispatcherServlet 2.在SpringMVC配置文件中配置viewResolver(视图解析器) 3.在SpringMVC配置文件中配置两个基本配置 ( <mvc:annotation-driven/> <mvc:d…