我需要通过ajax从服务器下载文件。 问题是该文件未存储在服务器上。 我的基于java的后端自动从请求参数生成文件并在响应正文中返回它:

@RequestMapping(value = "/download", method = RequestMethod.GET) public void download(@RequestParam String description, @RequestParam Long logId, HttpServletResponse response) { try { InputStream fileContent = // getting file as byte stream response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); response.setHeader("Content-Disposition", "attachment; filename=file.zip"); ServletOutputStream responseOutputStream = response.getOutputStream(); org.apache.commons.io.IOUtils.copy(fileContent, responseOutputStream); response.flushBuffer(); } catch (IOException e) { logger.error("Attempt to download file failed", e); } }

所以我需要处理它并允许用户下载文件。 我的客户端包含这个:

$.ajax({ type: "GET", url: "/download", data: { description: "test", logId: 123 }, success: function(data) { var blob = new Blob([data]); var link = document.createElement('a'); link.href = window.URL.createObjectURL(blob); link.download = "file.zip"; link.click(); } })

控制器返回文件,但没有任何反应。 我究竟做错了什么?

不要进行AJAX调用,而是将窗口的href设置为指向用于下载文件的URL。 然后将响应的内容类型更改为application/x-download ,并将响应的标题设置为Content-disposition :

response.setContentType("application/x-download"); response.setHeader("Content-disposition", "attachment; filename=" + fileName); response.flushBuffer(); function download(fileName) { window.location.href = "/download?description=test&logId=123"; }

另外,看看这个SOpost ,它解决了与你的问题类似的问题。

以上就是jQuery教程分享通过ajax下载文件相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注(猴子技术宅)。

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/jqyjc/564804.html

java jquery 文件下载_jQuery教程分享通过ajax下载文件相关推荐

  1. 基于Jsp的美食网javaweb JAVA美食网站美食教程分享交流网MySQL数据源

    Jsp的美食网javaweb JAVA美食网站美食教程分享交流网MySQL数据源

  2. jQuery实现文件下载( 隐藏表单实现ajax下载 )

    原因是Sigma表格控件要实现Excel导出表格中的数据 , 用$.Ajax()实现不了, 所以暂时用了个折中的办法 , 项目里类似情况后边可能还很多 , 记录一下, 以后有更好的办法再来改进吧 链接 ...

  3. jQuery.Ajax下载文件

    jQuery.Ajax下载文件 下面是一个使用插件源代码的简单用例演示. 演示页面包含了许多其他的'更好的用户界面'示例. $.fileDownload('some/file.pdf').done(f ...

  4. java文件客户端下载_使用Java写一个minio的客户端上传下载文件

    标签:color   ati   tty   java   system   wired   format   media   param 前言: 确保已经安装了minio的服务端 代码: pom.x ...

  5. springboot ajax下载文件功能封装

    通过js ajax下载文件功能封装 function exportExcel(formId, url) {try {var queryForm = $("#" + formId); ...

  6. java response 获得code_Java教程分享使用HttpClient抓取页面内容

    Java教程分享使用HttpClient抓取页面内容,使用HttpClient工具来发送Http请求 1.简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提 ...

  7. java 文件下载详解_Java 从网上下载文件的几种方式实例代码详解

    废话不多说了,直接给大家贴代码了,具体代码如下所示: package com.github.pandafang.tool; import java.io.BufferedOutputStream; i ...

  8. java文件下载controller_Java Spring MVC 上传下载文件配置及controller方法详解

    下载: 1.在spring-mvc中配置(用于100M以下的文件下载) 下载文件代码 @RequestMapping("/file/{name.rp}") public Respo ...

  9. Django Ajax下载文件(动态文件下载实现)

    前端埋一个隐藏的表单,用于传值: <form id="hidden_form">{% csrf_token %}<input type="hidden& ...

最新文章

  1. python就业方向选择-【经验分享】Python最好的几大就业方向与岗位技能要求!
  2. sql 取重复key中的第一条_SQL每日一题
  3. 【Q】之Linux中的防火墙netfilter iptables
  4. openai-gpt_GPT-3报告存在的问题
  5. 面试 - 要不简单聊一下你对MySQL索引的理解?
  6. UIAppearance
  7. nodejs与sqlite
  8. envi反演水质参数_基于大气校正法的Landsat 8 TIRS地表温度反演
  9. sqlyog的快捷键
  10. python控制安捷伦频谱仪_通过 python 对罗德施瓦茨矢网、信号源、频谱仪的控制...
  11. 使用融云 SDK 避坑指南之 iOS13 推送失败
  12. Windows 中批量重新注册所有的DLL文件的方法
  13. STM32单片机初学1-STM32介绍
  14. matplotlib常用图形
  15. python学习——英语单词背诵小程序
  16. Excel 求满足多个条件(2个条件,3个条件,....)的行的指定列的和公式,Excel根据汉字描述生成公式工具,支持合并单元格
  17. 【5G NR】CSI-RS
  18. 分布式协调器ZooKeeper3.4—管理员手册
  19. kali安装步骤失败 选择并安装软件_手机软件安装失败?吉米柚教你几招!
  20. tomcat监控脚本(监控进程,测试接口,告警动作为发送邮件)

热门文章

  1. 计算机科学及应用类公务员报考,公务员考试中的计算机(软件)类专业是指哪些专业啊...
  2. Android Studio“官方”汉化
  3. python语言输入杨辉三角_?新手求教:请问怎样用python 显示杨辉三角,任意输入一个数N,输出一个N 1层的杨辉三角。...
  4. Ext JS 深入浅出---树形结构数据获取
  5. Python抓取网页中的动态序列化数据
  6. Cortex-M3指令集简介
  7. pytoch 使用float64训练
  8. python modbus_tk与步科触摸屏通讯
  9. web前端开发面试题(九)
  10. windows系统应急响应