springmvc下载文件

可以跨域下载

    /**
     * 音频下载
     */
    @RequestMapping("/audio/download")
    public void downloadFile(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //String id = request.getParameter("id");
        String filePath = ServletRequestUtils.getStringParameter(request, "filePath", ""); //
        String fileName = ServletRequestUtils.getStringParameter(request, "fileName", ""); //
        String destUrl = filePath;
        //System.out.println("--------------"+filePath); 

        String fileFormat=filePath.substring(filePath.lastIndexOf("."));
        String name=fileName.trim()+fileFormat;
        //File f = new File(filePath);
        //response.setHeader("Content-Disposition", "attachment; filename="+java.net.URLEncoder.encode(f.getName(),"UTF-8"));
        //System.out.println("--------------"+f.getName());

        // 建立链接
        URL url = new URL(destUrl);
        HttpURLConnection httpUrl = (HttpURLConnection) url.openConnection();
        // 连接指定的资源
        httpUrl.connect();
        // 获取网络输入流
        BufferedInputStream bis = new BufferedInputStream(httpUrl.getInputStream());  

        response.setContentType("application/x-msdownload");
        response.setHeader("Content-Disposition", "attachment; filename="+java.net.URLEncoder.encode(name,"UTF-8"));
        OutputStream out = response.getOutputStream();
        byte[] buf = new byte[1024];
        if (destUrl != null) {
            BufferedInputStream br = bis;
            int len = 0;
            while ((len = br.read(buf)) > 0){
                out.write(buf, 0, len);
            }
            br.close();
        }
        out.flush();
        out.close();  

    } 

页面主要代码:

<div class="txt-2" style="padding-left:6px;float:none;">
			    <a href="/wxj/audio/download?filePath=${(contentJson.audiolink)!''}&fileName=${(course.title)!''}" class="btn btn-info">下 载</a>
			</div>
时间: 2024-11-25 11:25:05

springmvc下载文件的相关文章

springMVC下载文件前修改文件名字

很多时候,为了方便,下载文件其实就直接写了一个文件在服务器上面的路径,然后直接点击一个这个地址,浏览器就自然而然的开始下载了. 但是这次项目需要在文件下载之前修改文件的名字,也就是说,服务器上文件的名字和下载到本地文件的名字是不一样的. 而在springMVC中怎么实现呢? 下面就是代码部分 /** * 下载文件 * @author xx * */ @Controller @RequestMapping("downloadFile") @Scope(value="protot

springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)

参与该项目的文件上传和下载.一旦struts2下完成,今天springmvc再来一遍.发现springmvc特别好包,基本上不具备的几行代码即可完成,下面的代码贴: FileUpAndDown.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"%> <html> <head> <title>using commons Upload to

SpringMVC实现文件的上传和下载

前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:"用什么技术来实现一般网页上文件的上传和下载?是框架还是Java中的IO流".我回复他说:"使用SpringMVC框架可以做到这一点,因为SpringMVC为文件的上传提供了直接的支持,但需要依赖Apache提供Commons FileUpload组件jar包."鉴于这个问题,我上网也百度了一下,网上很多都是介绍的使用IO流来实现文件的上传和下载,也有说到框架的,但介绍的并不是很完整,今天小钱将和大家介绍使用Spr

myBatis + SpringMVC上传、下载文件

环境:maven+SpringMVC + Spring + MyBatis + MySql 本文主要说明如何使用input上传文件到服务器指定目录,或保存到数据库中:如何从数据库下载文件,和显示图像文件并实现缩放. 将文件存储在数据库中,一般是存文件的byte数组,对应的数据库数据类型为blob. 首先要创建数据库,此处使用MySql数据库. 注意:文中给出的代码多为节选重要片段,并不齐全. 1.  前期准备 使用maven创建一个springMVC+spring+mybatis+mysql的项

使用springMVC实现文件上传和下载之环境配置与上传

最近的项目中用到了文件的上传和下载功能,任务分配给了其他的同时完成.如今项目结束告一段落,我觉着这个功能比较重要,因此特意把它提取出来自己进行了尝试. 一. 基础配置: maven导包及配置pom.xml,导包时除开springmvc的基础依赖外,需要导入文件上传下载时用到的commons-io.jsr和commons-fileupload.jar: [html] view plain copy <project xmlns="http://maven.apache.org/POM/4.0

SpringMVC 避免IE执行AJAX时,返回JSON出现下载文件

<?xml version="1.0" encoding="UTF-8"?> <!-- SpringMVC配置文件 --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3

springMVC下载FTP上的文件

springMVC下载FTP上的文件 今天没时间写.先上传 一个工具类 工具类 package com.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.apache.commons.lang3.StringUtils; import org.apache.commons.net.ftp.FTPClient; import org.apache.c

【SpringMVC】【EasyUI】关于使用EasyUIForm上传文件,返回JsonIE提示下载文件的解决办法!

先说一下环境 EasyUI+SpringMVC+MyBatis 因为按正常手段,无法使用Ajax来提交一个包含文件的表单,故想到利用EasyUI的Form来提交,EasyUI的form封装了一套伪Ajax提交的方法,所以能够起到以ajax提交文件表单的作用! 但是当文件提交成功后,后台往前台返回了一个Json用来提示上传成功! 但是在其他浏览器下都正常,但是唯独在IE中会提示用户下载这个Json文件! 仔细的查看了下EasyUI的API看到API里有这样的一段话: 也就是说,返回的数据要无需设置

SSM框架-SpringMVC 实例文件上传下载

SSM框架-SpringMVC 实例文件上传下载 2017-04-17 09:38 4497人阅读 评论(6) 收藏 举报  分类: java基础(3)  目录(?)[+] 目录(?)[+] 林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文详细讲解了SpringMVC实例单文件上传.多文件上传.文件列表显示.文件下载. 本文工程免费下载 一.新建一个Web工程,导入相关的包 springmvc的包+commons-fileupload