JavaScript+Asp.Net MVC5同时下载多个文件

前端同时启动多个下载任务(但是没有做压缩包下载)

前端JavaScript脚本:

javascript 复制代码
var idList = [1,2,3];//要下载的列表
$.each(idList, function (index, item) {
    downloadURL("/File/GetPdf?id=" + item);
});

var count = 0;
var downloadURL = function downloadURL(url) {
    var hiddenIFrameID = 'hiddenDownloader' + count++;
	var iframe = document.createElement('iframe');
    iframe.id = hiddenIFrameID;
    iframe.style.display = 'none';
    document.body.appendChild(iframe);
	iframe.src = url;
}

后端:

javascript 复制代码
//FileController

public ActionResult GetPdf(int id)
{
    string fileName = "文件名";
    string path = "/filepath/";//文件路径

    string url = path + fileName ;
    if (url.Contains(".pdf"))
    {
        return File(DownLoadFielToMemoryStream(url), "application/pdf", fileName);
    }
    else
    {
        return Content("<script>alert('文件格式错误')</script>");
    }
}

private static MemoryStream DownLoadFielToMemoryStream(string url)
{
    var wreq = HttpWebRequest.Create(url) as HttpWebRequest;
    HttpWebResponse response = wreq.GetResponse() as HttpWebResponse;
    MemoryStream ms = null;
    using (var stream = response.GetResponseStream())
    {
        Byte[] buffer = new Byte[response.ContentLength];
        int offset = 0, actuallyRead = 0;
        do
        {
            actuallyRead = stream.Read(buffer, offset, buffer.Length - offset);
            offset += actuallyRead;
        }
        while (actuallyRead > 0);
        ms = new MemoryStream(buffer);
    }
    response.Close();
    return ms;
}
相关推荐
哆啦A梦158814 小时前
点击Top切换数据
前端·javascript·vue.js
@PHARAOH15 小时前
WHAT - 受控组件和非受控组件
前端·javascript·react.js
加号316 小时前
【C#】获取电脑网卡MAC地址
windows·c#
yi碗汤园16 小时前
【超详细】C#自定义工具类-StringHelper
开发语言·前端·unity·c#·游戏引擎
sali-tec16 小时前
C# 基于halcon的视觉工作流-章49-网面破损
开发语言·图像处理·算法·计算机视觉·c#
YuanlongWang16 小时前
c# ABP vNext 框架详解及其模块化开发思想介绍
开发语言·c#
张人玉17 小时前
WPF布局控件(界面骨架核心)
开发语言·c#·wpf·布局控件
专注前端30年17 小时前
【JavaScript】reduce 方法的详解与实战
开发语言·前端·javascript
专注前端30年18 小时前
2025 最新 Vue2/Vue3 高频面试题(10月最新版)
前端·javascript·vue.js·面试
Highcharts.js18 小时前
选择合适的组合:如何打造数据可视化的“黄金组合”
javascript·信息可视化·highcharts·交互式图表开发