jQuery.Ajax下载文件

下面是一个使用插件源代码的简单用例演示。 演示页面包含了许多其他的'更好的用户界面'示例。

$.fileDownload('some/file.pdf').done(function(){alert('File download a success!');}).fail(function(){alert('File download failed!');});

你不能,也不需要通过Ajax进行这里操作。 只使用

window.location="download.action?para1=value1...."

1 。不受框架影响的:Servlet下载文件作为附件

<!-- with JS --><ahref="javascript:window.location='downloadServlet?param1=value1'">download</a><!-- without JS --><ahref="downloadServlet?param1=value1">download</a>

2.Struts2 框架︰行动下载文件作为附件

<!-- with JS --><ahref="javascript:window.location='downloadAction.action?param1=value1'">download</a><!-- without JS --><ahref="downloadAction.action?param1=value1">download</a>

最好是使用 <s:a> 标记指向 OGNL<s:url>url创建标签:

<!-- without JS, with Struts tags: THE RIGHT WAY --><s:urlaction="downloadAction.action"var="url"><s:paramname="param1">value1</s:param></s:ulr><s:ahref="%{url}">download</s:a>

在上述情况下,需要Content-Disposition响应头,指定需要下载的文件( attachment ) ( inline ) 而不是打开的浏览器。需要指定内容类型,你可能希望添加文件名和( 帮助浏览器绘制真实的progressbar ) 长度。

例如下载ZIP时:

response.setContentType("application/zip");response.addHeader("Content-Disposition","attachment; filename="name ofmyfile.zip"");response.setHeader("Content-Length",myFile.length());//or myByte[].length...

直接与 Struts2 ( 除非你将这里操作用作一个 Servlet,否则将使用一个 hack 作为直接流编辑器,例如), 你不需要写任何响应,仅仅使用流结果类型 struts.xml 和配置它将工作: 示例

<resultname="success"type="stream"><paramname="contentType">application/zip</param><paramname="contentDisposition">attachment;filename="${fileName}"</param><paramname="contentLength">${fileLength}</param></result>

3 。框架不可知(/Struts2 框架): Servlet(/Action) 在浏览器中打开文件

如果你想在浏览器里打开文件,下载它,而是在 Content-disposition必须设置为内联,但目标不能当前窗口位置;你必须目标javascript创建的一个新窗口,一个 <iframe> 页面,或创建一个新窗口 on-the-fly"讨论过"target="_blank":

<!-- From a parent page into an IFrame without javascript --><ahref="downloadServlet?param1=value1"target="iFrameName">download</a><!-- In a new window without javascript --><ahref="downloadServlet?param1=value1"target="_blank">download</a><!-- In a new window with javascript --><ahref="javascript:window.open('downloadServlet?param1=value1');">download</a>

jQuery.Ajax下载文件相关推荐

  1. java jquery 文件下载_jQuery教程分享通过ajax下载文件

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

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

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

  3. ajax 上传文件实例,jquery ajax实现文件上传功能实例代码

    下面看下ajax实现文件上传 没有使用插件 一.单文件上传 文件: 上传文件 $(function () { $("#upload").click(function () { va ...

  4. 前端 js jQuery ajax实现文件流下载, 下载doc,xsl等文件内容乱码问题

    问题描述: 前端通过jQuery ajax接受后端的文件流,前端下载文件后内容乱码 后端代码: Header("Content-type: application/octet-stream& ...

  5. 原生AJAX下载文件(下载模板)

    仅限个人观点,做个总结,欢迎大家指正 <html lang="en"> <head><meta charset="UTF-8"&g ...

  6. 如何利用Ajax下载文件

    Ajax下载无弹出框--原因:Ajax只能返回String类型的数据 一.当前做法: 利用ajax普通的异步请求下载的Controller,传送参数: $.ajax({type: 'POST',url ...

  7. php通过ajax下载文件,通过ajax调用php下载文件

    我有一个按钮,点击它会调用ajax函数. 这是我的ajax功能 function csv(){ ajaxRequest = ajax();//ajax() is function that has a ...

  8. php通过ajax下载文件,通过Ajax如何请求下载Execl文件

    本篇文章给大家分享的是关于通过Ajax如何请求下载Execl文件,内容很不错,有需要的朋友可以参考一下,希望可以帮助到大家. 通过Ajax请求下载Execl 的问题,掉进一个坑里半个多小时,特此来记录 ...

  9. 原生JS实现Ajax下载文件

    /*** url 下载url* filename 下载文件名称*/ function download(url, filename) {var xhr = new XMLHttpRequest();x ...

最新文章

  1. 如何使用postman测试流文件_干货|如何用Postman做集成测试
  2. JAVA07 接口与继承
  3. POJ2352:Stars——题解
  4. python 利用pyttsx3文字转语音
  5. MINA核心结构和处理消息的逻辑流程
  6. 织梦文章批量更新软件
  7. linux 家目录没有了,linux刀片服务器断电重启以后home目录下的用户文件夹丢失了...
  8. python如何查看类信息_关于如何查看本地python类库详细信息的方法
  9. JavaEE基础(六)
  10. 【开发工具】【Bus Hound】USB抓包工具(Bus Hound)的使用
  11. 《平衡掌控者 游戏数值战斗设计》学习笔记(一)游戏研发概要
  12. android 毫秒 计时器,Android 计时器: CountDownTimer和JobService
  13. Appium+网易mumu模拟器+python 使用笔记
  14. 计算机凭证打印格式设置,打印凭证怎么设置纸张
  15. WPF解决方案和项目结构
  16. python-字典练习3 -数字重复统计
  17. msp fet430uif驱动
  18. Free Candies UVA - 10118
  19. 如何正确理解维度灾难
  20. PHP代码实现反弹shell

热门文章

  1. 华为交换机日常维护命令
  2. 电器类目主图设计(洗衣机主图)
  3. Python IDLE的下载,安装与使用教程
  4. 分享35个非常漂亮的单页网站设计案例
  5. Sportradar宣布与加拿大退休金计划投资委员会和TCV建立新的战略合作伙伴关系
  6. Android4.2.2下Stagefright多媒体架构中的A31的OMX插件和Codec组件
  7. C#开发之——StreamReader(10.8)
  8. k8s admission webhook初探
  9. C语言描述死锁检测算法,天津科技大学计算机科学与信息工程学院2013考研复试考试大纲...
  10. STM32Fx+cubeMX+硬件IIC+INA219(同一个I2C挂载两个芯片)