2 zxk3200 zxk3200 于 2016.03.22 15:20 提问

c#/Asp.net如何实现多个文件下载

文件全部存储在服务器上,如何实现多个文件下载
现在代码如下

protected void Page_Load(object sender, EventArgs e)
{
string[] arr = { "alert.png", "info.png", "valid.png" };
for (int i = 0; i < arr.Length; i++)
{
try
{
string filePath = Server.MapPath("/images/"+arr[i]);
//以字符流的形式下载文件

                FileStream fs = new FileStream(filePath, FileMode.Open);
                byte[] bytes = new byte[(int)fs.Length];
                fs.Read(bytes, 0, bytes.Length);
                fs.Close();
                Response.ContentType = "application/octet-stream";
                //通知浏览器下载文件而不是打开
                Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode("测试"+arr[i], System.Text.Encoding.UTF8));
                Response.BinaryWrite(bytes);
                Response.Flush();
            }
            catch {  }
        }
        Response.End();
    }

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.22 15:26

两个办法,一个是服务器打包成一个文件,一个是返回一个页面,用js弹出窗口的方式打开所有的下载链接。

hangehge
hangehge   2016.03.23 15:50

这个源码中有关于实现一次性上传多个图片的实现方式,你看看有没有用http://www.jinhusns.com/Products/Download/?type=xcj

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Asp.net 中几种文件下载方式
C# code ASP.NET文件下载 //TransmitFile实现下载 protected void Button1_Click(object sender, EventArgs e) { /* 微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite 下载超
ASP.NET : 如何将服务端的多个文件打包下载
正在开发的系统中包含了这部分功能。下面将有关重点的代码粘贴出来,给大家参考 我用到了ICSharpCode.SharpZipLib这个dll. 据我所知,凡是现在做压缩和解压缩之类的程序,很少有人会不用这个组件的。赞一个先 1. 核心代码 MemoryStream ms = new MemoryStream(); byte[] buffer = n
asp.net多文件下载 MVC多文件下载
asp.net多文件下载 MVC多文件下载 仅供参考
在ASP.NET中实现压缩多个文件为.zip文件,实现批量下载功能
使用ICSharpCode.SharpZipLib.dll;  下载地址   http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx 下面是对#ZipLib进行.net下的解压缩的方法的介绍。     1.BZip2           加入ICSharpCode.SharpZipLib.dll的引用,在#Devel
asp.net mvc如何实现文件下载
public Action LoadFile()         {             //   string filePath = Server.MapPath("~") + "upload/wms.txt";             string filePath = Server.MapPath("~") + "upload/MiSP.rar";             lon
用 C# 实现 HTTP 协议多线程下载文件
本文内容 环境Internet 请求演示参考资料修改记录   环境 开发工具:VS 2010/.NET Framework 4.0系统环境:Microsoft Windows 7   Internet 请求 应用程序通过 WebRequest.Create 方法创建 WebRequest 实例。该方法是静态方法,基于传递的 URI 创建从 WebR
ASP.NET MVC 文件上传和文件下载 以及 文件下载的几种方法
1、序言最近项目中需要用到这个功能点,但是网上下载的时候总是出现乱码。所以趁着这个时间自己整理出了一份,以后需要的时候就直接看自己的博客就行了。已经测试过:在谷歌、火狐、IE等浏览器上都不会出现乱码问题。2、结果展示2.1、上传文件成功界面 2.2、下载文件成功界面3、上传文件代码3.1、View代码@model System.Web.HttpContextBase @{ ViewBag....
gridview内实现文件下载
gridview内实现文件下载实现起来有点迷惑性,用了几种方法,最后用a实现。...@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Asp_net MVC上传文件与下载文件的方法
<br /><br />在Asp.net的WEBform中,上传文件与下载文件处理是很简单的事情,如果转为ASP.NET MVC呢?那就没有那么容易了,难少少,也不是很难,一起来看下本文吧。本文主要讲如何在Asp.net MVC中上传文件,然后如何再从服务器中把上传过的文件下载下来.<br />在Web Forms中,当你把一个FileUpload控件拖到设计器中,你或许没有注意到在生成的HTML中会在form标签中加入一条额外属性enctype="multipart/form-data". 而FileUp
Asp.net下载文件几种方式
protected void Button1_Click(object sender, EventArgs e)   {   /*   微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite   下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。   代码如下:   *