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 ...
随机推荐
- 【Teradata SQL】字符串分割函数STRTOK和STRTOK_SPLIT_TO_TABLE
STRTOK函数: 按照指定分隔符,将字符串分割成多个部分,返回指定部分字符串. 参数说明: (1)instring:字符串或字符串表达式. (2)delimiter:分隔符列表,字符串每个字符都会做 ...
- 【English EMail】Compensation Planning Memo
Data Foundation 数据基础 [faʊnˈdeʃən] Interesting newsletter for data foundation practice. Annual Code ...
- Nginx解读内置非默认模块 ngx_http_stub_status_module
1 Background http://nginx.org/en/docs/http/ngx_http_stub_status_module.html ngx_http_stub_status_mod ...
- jenkins乱码解决问题
1.jenkins控制台线上乱码解决 系统管理——系统设置,添加编码环境变量 zh.CH.UTF-8 2.java启动后,tomcat日志显示乱码,原因是环境变量没有带过去,因此shell脚本头部需要 ...
- vue.js 跳转同一页面,传不同值,组件监听路由
watch: { '$route' () { this.type = this.$route.params.type this.loadData() } },
- php7 的yum源
yum源默认的版本太低了,手动安装有一些麻烦,想采用Yum更新安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed | grep php 如果有安装的PHP包, ...
- 正益移动推出新产品正益工作 实现PaaS+SaaS新组合
近期,正益移动不仅将其AppCan 移动平台云化,还通过发布全新 SaaS 产品 -- 正益工作,这款集合了企业信息聚合.应用聚合.社交聚合为一体的企业移动综合门户,与 AppCan 平台一起实现了P ...
- 基于aws api gateway的asp.net core验证
本文是介绍aws 作为api gateway,用asp.net core用web应用,.net core作为aws lambda function. api gateway和asp.net core的 ...
- Spring boot整合Mybatis
时隔两个月的再来写博客的感觉怎么样呢,只能用“棒”来形容了.闲话少说,直接入正题,之前的博客中有说过,将spring与mybatis整个后开发会更爽,基于现在springboot已经成为整个业界开发主 ...
- Dubbo-Zookeeper安装
安装zookeeper: 1.拖入tar.gz包,解压 2.建立/usr/zookeeper路径,该路径创建logs文件夹和data文件夹 3.进入conf目录,复制一份zoo_sample.cfg为 ...