JS downLoad
$.fileDownload(url, {
httpMethod: 'GET',
data: null,
prepareCallback: function (url) {
layer.msg("文件下载中...", { time: 2000 });
},
abortCallback: function (url) {
layer.msg("文件下载异常!!", { time: 2000 });
},
successCallback: function (url) {
layer.msg("文件下载成功!!",{ time: 2000 });
},
failCallback: function (html, url) {
layer.msg("文件下载失败!!", { time: 2000 });
}
});
Java后端代码
response.setHeader("Set-Cookie", "fileDownload=true; path=/");
c# 后台代码 HttpContext.Response.SetCookie(new System.Web.HttpCookie("Set-Cookie", "fileDownload=true; path=/"));
————————————————
版权声明:本文为CSDN博主「lingmen2000」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_37998428/article/details/85161267
(function (e, t) { var n = /[<>&\r\n"']/gm; var r = { "<": "lt;", ">": "gt;", "&": "amp;", "\r": "#;", "\n": "#;", '"': "quot;", "'": "apos;" }; e.extend({ fileDownload: function (i, s) { function E() { if (document.cookie.indexOf(o.cookieName + "=" + o.cookieValue) != -1) { d.onSuccess(i); document.cookie = o.cookieName + "=; expires=" + (new Date(1e3)).toUTCString() + "; path=" + o.cookiePath; x(false); return } if (m || v) { try { var t = m ? m.document : S(v); if (t && t.body != null && t.body.innerHTML.length) { var n = true; if (y && y.length) { var r = e(t.body).contents().first(); if (r.length && r[0] === y[0]) { n = false } } if (n) { d.onFail(t.body.innerHTML, i); x(true); return } } } catch (s) { d.onFail("", i); x(true); return } } setTimeout(E, o.checkInterval) } function S(e) { var t = e[0].contentWindow || e[0].contentDocument; if (t.document) { t = t.document } return t } function x(e) { setTimeout(function () { if (m) { if (l) { m.close() } if (f) { if (m.focus) { m.focus(); if (e) { m.close() } } } } }, 0) } function T(e) { return e.replace(n, function (e) { return "&" + r[e] }) } var o = e.extend({ preparingMessageHtml: null, failMessageHtml: null, androidPostUnsupportedMessageHtml: "Unfortunately your Android browser doesn't support this type of file download. Please try again with a different browser.", dialogOptions: { modal: true }, prepareCallback: function (e) { }, successCallback: function (e) { }, failCallback: function (e, t) { }, httpMethod: "GET", data: null, checkInterval: 100, cookieName: "fileDownload", cookieValue: "true", cookiePath: "/", popupWindowTitle: "Initiating file download...", encodeHTMLEntities: true }, s); var u = new e.Deferred; var a = (navigator.userAgent || navigator.vendor || t.opera).toLowerCase(); var f; var l; var c; if (/ip(ad|hone|od)/.test(a)) { f = true } else if (a.indexOf("android") !== -1) { l = true } else { c = /avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|playbook|silk|iemobile|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4)) } var h = o.httpMethod.toUpperCase(); if (l && h !== "GET") { if (e().dialog) { e("<div>").html(o.androidPostUnsupportedMessageHtml).dialog(o.dialogOptions) } else { alert(o.androidPostUnsupportedMessageHtml) } return u.reject() } var p = null; var d = { onPrepare: function (t) { if (o.preparingMessageHtml) { p = e("<div>").html(o.preparingMessageHtml).dialog(o.dialogOptions) } else if (o.prepareCallback) { o.prepareCallback(t) } }, onSuccess: function (e) { if (p) { p.dialog("close") } o.successCallback(e); u.resolve(e) }, onFail: function (t, n) { if (p) { p.dialog("close") } if (o.failMessageHtml) { e("<div>").html(o.failMessageHtml).dialog(o.dialogOptions) } o.failCallback(t, n); u.reject(t, n) } }; d.onPrepare(i); if (o.data !== null && typeof o.data !== "string") { o.data = e.param(o.data) } var v, m, g, y; if (h === "GET") { if (o.data !== null) { var b = i.indexOf("?"); if (b !== -1) { if (i.substring(i.length - 1) !== "&") { i = i + "&" } } else { i = i + "?" } i = i + o.data } if (f || l) { m = t.open(i); m.document.title = o.popupWindowTitle; t.focus() } else if (c) { t.location(i) } else { v = e("<iframe>").hide().prop("src", i).appendTo("body") } } else { var w = ""; if (o.data !== null) { e.each(o.data.replace(/\+/g, " ").split("&"), function () { var e = this.split("="); var t = o.encodeHTMLEntities ? T(decodeURIComponent(e[0])) : decodeURIComponent(e[0]); if (t) { var n = o.encodeHTMLEntities ? T(decodeURIComponent(e[1])) : decodeURIComponent(e[1]); w += '<input type="hidden" name="' + t + '" value="' + n + '" />' } }) } if (c) { y = e("<form>").appendTo("body"); y.hide().prop("method", o.httpMethod).prop("action", i).html(w) } else { if (f) { m = t.open("about:blank"); m.document.title = o.popupWindowTitle; g = m.document; t.focus() } else { v = e("<iframe style='display: none' src='about:blank'></iframe>").appendTo("body"); g = S(v) } g.write("<html><head></head><body><form method='" + o.httpMethod + "' action='" + i + "'>" + w + "</form>" + o.popupWindowTitle + "</body></html>"); y = e(g).find("form") } y.submit() } setTimeout(E, o.checkInterval); return u.promise() } }) })(jQuery, this)
JS downLoad的更多相关文章
- 用js生成PDF的方案
在java里,我们常用Itext来生成pdf,在pdf文件里组合图片,文字,画表格,画线等操作,还会遇到中文支持的问题. 那好,现在想直接在web前端就生成pdf怎么办,目前有以下几个解决方案 1:J ...
- 在 Ubuntu 14.04/15.04 上配置 Node JS v4.0.0
大家好,Node.JS 4.0 发布了,这个流行的服务器端 JS 平台合并了 Node.js 和 io.js 的代码,4.0 版就是这两个项目结合的产物——现在合并为一个代码库.这次最主要的变化是 N ...
- Getting Started with Mongoose and Node.js – A Sample Comments System | Dev Notes
In this post, we’re going to be creating a sample comments system using Node, Express and Mongoose. ...
- 用 Stellar.js 制作视差滚动效果
参考 http://doc.bropaul.com/Stellar.js/docs/ https://github.com/markdalgleish/stellar.js#download http ...
- Node.js+Web TWAIN,实现Web文档扫描和图像上传
目录(?)[+] 通过Dynamic Web TWAIN SDK和Node.js的组合,只需要几行代码就可以实现在浏览器中控制扫描仪,获取图像后上传到远程服务器. 原文:Document Imag ...
- jquery autocomplete实现读取sql数据库自动补全TextBox
转自我本良人 原文 jquery autocomplete实现读取sql数据库自动补全TextBox 项目需要这样子一个功能,其他部门提的意见,只好去实现了哦,搞了好久才弄出来,分享一下. 1.前台页 ...
- ionic cordova plugin simple demo
要用cordova plugin 的话还是需要设置一下的 1. 下载 ng-cordova.js download the zip file here 2. 在index.html 中引用 (cord ...
- 如何设置Grunt
原文地址: Step 1: Install Node.js Download a Node installer and run it. Installation packages are availa ...
- web学习测试环境
ref:https://www.owasp.org/index.php/OWASP_Vulnerable_Web_Applications_Directory_Project/Pages/Offlin ...
随机推荐
- Flume-Spooling Directory Source 监控目录下多个新文件
使用 Flume 监听整个目录的文件,并上传至 HDFS. 一.创建配置文件 flume-dir-hdfs.conf https://flume.apache.org/FlumeUserGuide.h ...
- ubuntu如何删除刚添加的源?
答: sudo add-apt-repository -r <source_url> 如: sudo add-apt-repository -r ppa:linaro-maintainer ...
- AVQueuePlayer
想要视频一个接一个的无缝连续播放么? 还在用mpmovieplayercontroller么?out了! 介绍一个可以实现无缝连续播放视频的东西-------AVQueuePlayer ! AVQue ...
- LC 926. Flip String to Monotone Increasing
A string of '0's and '1's is monotone increasing if it consists of some number of '0's (possibly 0), ...
- Hibernate3运行原理
Hibernate的运行过程如下: 1.应用程序先调用Configuration类,该类读取Hibernate配置文件及映射文件中的信息,2.并用这些信息生成一个SessionFactory对象,3. ...
- UML分类
类型 静态图 行为图 用例图 交互图 ...
- Python - 二叉树, 堆, headq 模块
二叉树 概念 二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树), 或者由一个根结点和两棵互不相交的.分别称为根结点的左子树和右子树组成. 特点 每个结点最多有两颗子树,所 ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_6-2.申请微信支付介绍和不同场景的支付方式
笔记 2.申请微信支付介绍和不同场景的支付方式 简介:介绍微信商户平台,支付方式和使用场景,申请微信支付流程 1.什么是微信商户平台: ...
- Delphi ActionList详解
一个友好的用户界面,必须具有下拉菜单,弹出菜单,工具条和快捷键.同样一个功能,程序员可能要提供几种操作方式,如文本拷贝,菜单命令&Copy,快捷键Ctrl+C,工具条上的拷贝按钮,都是程序员提 ...
- Minimum number of swaps required to sort an array
https://www.hackerrank.com/challenges/minimum-swaps-2/problem Minimum Swaps II You are given an unor ...