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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!