AJAX进行文件下载

JQuery的ajax函数的返回类型只

有xml、text、json、html等类型,没有“流”类型,所以我们要实现ajax下载,不能够使用相应的ajax函数进行文件下载。但可以用js

生成一个form,用这个form提交参数,并返回“流”类型的数据。在实现过程中,页面也没有进行刷新。

function fileModelDownload() {var form = $("

"); //定义一个form表单form.attr('style', 'display:none'); //在form表单中添加查询参数form.attr('target', '');form.attr('method', 'post');form.attr('action', "fupUser/fileModelDownload.do");var input1 = $('');input1.attr('type', 'hidden');input1.attr('name', 'strUrl');$('body').append(form); //将表单放置在web中form.append(input1); //将查询参数控件提交到表单上form.submit();}



后台

// 文件模板下载

@RequestMapping("/fupUser/fileModelDownload")

@ResponseBody

public void fileModelDownload(HttpServletRequest request, HttpServletResponse response) throws IOException{

File file = new File(request.getSession().getServletContext().getRealPath("/") + "/download/fupUser.txt");

if(file.exists()){

OutputStream os = response.getOutputStream();

try {

response.reset();

response.setHeader("Content-Disposition", "attachment; filename=fupUser.txt");

response.setContentType("application/octet-stream; charset=utf-8");

os.write(FileUtils.readFileToByteArray(file));

os.flush();

} finally {

if (os != null) {

os.close();

}

}

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 5,248评论 0 2
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 4,925评论 0 1
  • 第一章 入门 基本功能:访问和操作 dom 元素,控制页面样式,对页面的事件处理,与ajax完美结合,有丰富的插件...
    X_Arts阅读 4,692评论 0 2
  • 原文链接 http://blog.poetries.top/2016/10/20/review-jQuery 关注...
    前端进阶之旅阅读 16,822评论 18 503
  • 我认识向阳是在高一校庆的时候那是我们第一次见面,他站在树荫下面,而我被老师推荐参加校庆。我不知道我的搭档是谁,只...
    一条老道阅读 3,459评论 8 9

友情链接更多精彩内容