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;
}
相关推荐
天天代码码天天20 小时前
OpenCV 5 + PP-OCRv6 + OpenVINO:C# 本地 OCR 推理更快、更稳、更好集成
opencv·c#·openvino
北极星日淘20 小时前
可买免税店货物与安耐晒——特殊商品代购技术方案
javascript·vue.js·elementui
FirstFrost --sy20 小时前
基于高并发服务器的web小游戏测试
服务器·前端·javascript·c++·python·集成测试
youyu-youyu20 小时前
oss阿里云图片链接url高清图片设置为缩略图 vue 减少加载体积流量
前端·javascript·vue.js·阿里云·云计算
object not found21 小时前
Node.js fs 常用 API 整理:node:fs/promises、node:fs、fs 到底怎么用
开发语言·前端·javascript
雷工笔记21 小时前
MES系列48-MES 系统「质量管理」完整设计与实施方案
开发语言·javascript·ecmascript
LiuJun2Son21 小时前
Angular 快速入门:服务和依赖注入
前端·javascript·angular.js
Chris _data1 天前
c#学习WPF笔记(一)
学习·c#·wpf
huangdong_1 天前
淘宝商品SKU图自动分类技术深度解析:从DOM解析到智能归档
开发语言·javascript·ecmascript
xiaofeichaichai1 天前
ES 新特性九年速览:从 ES2016 到 ES2024
前端·javascript·es6