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 ...
随机推荐
- Nginx-HTTP之listen指令解析
1. ngx_http_core_listen static char * ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void ...
- 上有传参下传json的接口调用
1.优化Myrequest import requests from conf.setting import log class MyRequest(): @staticmethod def post ...
- Golang 空指针nil的方法和数据成员
golang中,有一个特殊的指针值nil. 如何使用nil没有方法和成员变量呢? 下面来看下具体例子. 程序中,定义结构体类型Plane, 将Plane类型的指针作为函数的参数,然后传入nil作为实参 ...
- flutter 自定义tabbar 给tabbar添加背景功能
flutter 自带的tabbar BottomNavigationBar有长按水波纹效果,不可以添加背景图片功能,如果有这方面的需求,就需要自定义tabbar了 自定义图片 我们使用BottomAp ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_6-03 高级篇幅之zuul常用问题分析
笔记 3.高级篇幅之Zuul常用问题分析和网关过滤器原理分析 简介:讲解Zuul网关原理和过滤器生命周期, 1.路由名称定义问题 路由映射重复覆盖问题 ...
- 【数学建模】线性规划各种问题的Python调包方法
关键词:Python.调包.线性规划.指派问题.运输问题.pulp.混合整数线性规划(MILP) 注:此文章是线性规划的调包实现,具体步骤原理请搜索具体解法. 本文章的各个问题可能会采用多种调用方 ...
- Linux命令集锦:chmod命令
chmod命令是用来变更文件或目录的权限. 权限范围的表示法如下: u:User,即文件或目录的拥有者: g:Group,即文件或目录的所属群组: o:Other,除了文件或目录拥有者或所属群组之外, ...
- highway network及mnist数据集测试
先说结论:没经过仔细调参,打不开论文所说代码链接(fq也没打开),结果和普通卷积网络比较没有优势.反倒是BN对网络起着非常重要的作用,达到了99.17%的测试精度(训练轮数还没到过拟合). 论文为&l ...
- 【并行计算-CUDA开发】CUDA软件架构与Nvidia硬件对应关系
前面扯了很多,不过大多都是在讲CUDA 在软体层面的东西:接下来,虽然Heresy 自己也不熟,不过还是来研究一下硬体的部分吧-毕竟要最佳化的时候,好像还是要大概知道一下相关的东西的.这部分主要参考资 ...
- 【VS开发】单文档中往视图中加入控件
[VS开发]单文档中往视图中加入控件 标签(空格分隔): [VS开发] 分隔视图的但文档窗口,要显示控件,推荐使用CFormView或者CCtrlView,前者和对话框的做法一致. 在MainFram ...