mvc 在弹出框中实现文件下载
var myParent = parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent;
FileDown = function (fileName, realFileName) {
$(myParent.document.body).find("#down-file-iframe").remove();
var $iframe = $('<iframe name="_down-file-iframe" id="down-file-iframe" style="position:absolute;top:-10000px;left:-10000px;"></iframe>');
var $a = $('<a href="' + fileName + '">下载</a>');
if (realFileName != null)
{ $a.attr("download", realFileName); }
$(myParent.document.body).append($iframe);
$iframe[0].onload = $iframe[0].onreadystatechange = function () {
var titleElem = $(this.contentWindow.document).find("title");
if (titleElem.length > 0) {
if (titleElem.text().indexOf("404") >= 0)
{ myDialog({ title: "提示", content: "文件下载失败:<br/>" + "该文件不存在或已被删除" }); }
else
{ myDialog({ title: "提示", content: "文件下载失败:<br/>" + titleElem.text() }); }
}
}
var DataExport_Timer = setInterval(function () {
var iframeObj = myParent.window.frames["down-file-iframe"].contentWindow || myParent.window.frames["down-file-iframe"];
if ($(iframeObj.document.body).length <= 0) { return; }
clearInterval(DataExport_Timer);
$(iframeObj.document.body).append($a);
$a[0].click();
setTimeout(function () { $iframe.remove(); }, 1000 * 120);
}, 200);
}
如果是弹出框形式的话,把此方法放在父窗体的页面,实现下载文件
调用
//遍历下载多个文件
for (var i = 0; i <= ids.length; i++) {
$.ajax({
url: '/Apply/DownloadScanFile',
cache: false,
async: false,
type: 'post',
data: { id: ids[i] },
success: function (data) {
//CloseDialog();
if (data.Status == 1) {
FileDown(data.FullFileName, data.FileName);
} else {
myDialog({ title: "提示", content: data.Error });
};
}
});
}
控制器
/// <summary>
/// 下载回复文件
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public JsonResult DownloadFile(int id)
{
var model = Db.GetApplyResultFile(id);
return Json(new { Status = 1, FullFileName = "\\" + model.FilePath, FileName = model.FileName });
}
mvc 在弹出框中实现文件下载的更多相关文章
- 苹果手机iOS11中fixed弹出框中input光标错位问题
最近遇到了一个移动前端的BUG:手机弹出框中的输入框focus时光标可能会错位. 刚开始时我完全不知道错误原因是什么,在电脑上调试时完全没有问题,手机上出现问题时也没有找到规律.后来在网上搜索了大量的 ...
- 在IOS11中position:fixed弹出框中的input出现光标错位的问题
问题出现的背景: 在IOS11中position:fixed弹出框中的input出现光标错位的问题 解决方案 一.设计交互方面最好不要让弹窗中出现input输入框: 二.前端处理此兼容性的方案思路: ...
- 弹出框中选项卡的运用(easyUI)
先看一下页面效果: 此处有两个知识点:一个是弹出框的运用,一个是选项卡的运用 分析一下该HTML代码,最外面一个div是弹出框的,默认是关闭状态,可通过ID来控制弹出框的开关,该div的样式是easy ...
- 弹出框中的AJAX分页
$(function() { $("body").on("click",".set-topic",function(){ /*获取所有题目接 ...
- 使用easeui dialog弹出框中使用CKeditor多次加载后无法编辑问题
问题呈现:弹出框页面 <tr class="addtr"> <th>内容</th> <td> <!-- <textare ...
- vue在element-ui的dialog弹出框中加入百度地图
参考:https://blog.csdn.net/u012724595/article/details/82703579 <!-- gps弹窗 --> <el-dialog v-di ...
- firefox浏览器中 bootstrap 静态弹出框中select下拉框不能弹出(解决方案)
问题出现场景1: 在firefox浏览器中在bootstrap弹出的modal静态框中再次弹出一个静态框时 select下拉框不能弹出选项 解决方案:去掉最外层静态框的 tabindex=" ...
- layer弹出框中icon数字参数说明
前言icon参数为0,如下代码: layer.msg(}); 运行结果如图: icon参数为1,如下图 icon参数为2,如下图: icon参数为3,如下图: icon参数为4,如下图: icon参数 ...
- IOS中position:fixed弹出框中的input出现光标错位的问题
解决方案是 在弹框出现的时候给body添加fixed <style type="text/css"> body{ position: fixed; width: 100 ...
随机推荐
- ElasticSearch(九):elasticsearch-head插件安装
安装node 安装elasticsearch-head需要node.js的支持. 下载最新的node.js,下载地址:https://nodejs.org/en/download/ 将下载后的安装包放 ...
- mac 开发新户攻略-brew
原文 https://www.cnblogs.com/kccdzz/p/7676840.html 这里为了备份一下,方便我自己寻找. 1.介绍 brew是一个软件包管理工具,类似于centos下的yu ...
- pip install urllib3[secure] 报错 error: ffi.h: No such file or directory
解决 sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging pyt ...
- 10分钟,AppCan帮你搞定跨平台开发APP问题!
跨平台开发APP时,开发者总会遇到一些问题,如打包失败等等,尤其对于iOS来说,由于它的限制性会导致一些状况发生(如证书上传问题等),小编总结了几个AppCan在线IOS打包失败常见的情况及排查技巧, ...
- firewall centos
firewall-cmd --add-port=8056/tcp --临时增加端口 firewall-cmd --permanent --zone=public --add-port=6069/ ...
- 如何用ABP框架快速完成项目(6) - 用ABP一个人快速完成项目(2) - 使用多个成熟控件框架
正如我在<office365的开发者训练营,免费,在微软广州举办>课程里面所讲的, 站在巨人的肩膀上的其中一项就是, 尽量使用别人成熟的框架. 其中也包括了控件框架 abp和52abp ...
- PHP获取项目所有控制器方法名称
PHP获取项目所有控制器方法名称 //获取模块下所有的控制器和方法写入到权限表 public function initperm() { $modules = array('admin'); //模块 ...
- docker(七) 使用dockerfile-maven-plugin插件构建docker镜像
在dockerfile-maven-plugin插件出现之前,还有一个maven插件是docker-maven-plugin,是由同一个作者创造,作者明确表示推荐使用dockerfile-maven- ...
- Linux下用户和raid练习题
1. 公司一开发人员申请对服务器10天的oldboy普通用户权限,如何操作? useradd oldboy passwd oldboy usermod -e `date -d "10day& ...
- JS 字符串处理相关(持续更新)
一.JS判断字符串中是否包含某个字符串 indexOf() indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置.如果要检索的字符串值没有出现,则该方法返回 -1. var str ...