从网页中做一个超链接到文件,单击连接后会提示下载还是打开?

解决方案 »

  1.   

    如果要下载后本页面仍存在,需要两个页面,第一个页面只显示列表,然后单击后把参数传递到第二个页面,执行下载,这样可以你选择打开模式时下载页面仍然存在,但是有一个列外,就是如果你要打开的文件要用浏览器打开的话,原来的下载页面就没有了,但可后退找到。如果你选择下载模式,则什么情况下下载页面仍存在。下面是部分代码,其中arrByte为你要下载的内容,类型为二进制类型。
           //清除缓冲区流中的所有内容输出。 
            Response.Clear();
            //将 HTTP 头添加到输出流。
            Response.AppendHeader("Accept-Ranges", "bytes");
            Response.AppendHeader("Connection", "Keep-Alive");
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, Encoding.Default));
            //获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页之后将其发送。
            Response.BufferOutput = false;
            //获取或设置输出流的 HTTP MIME 类型。 
            Response.ContentType = "application/octet-stream";
            //将一个二进制字符串写入 HTTP 输出流。 
            Response.BinaryWrite(arrByte);
            //关闭缓存输出,不可省略
            Response.End();
      

  2.   

    不好意思上文漏掉了几个字
    其中arrByte为你要下载的内容,类型为二进制字节数组类型。