ImageButton连接打开文件

  protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        FileStream fs = new FileStream(Server.MapPath("~\\wenjian\\") + "test.doc", FileMode.Open, FileAccess.Read);
        int size = Convert.ToInt32(fs.Length);
        Byte[] btFileStream = new Byte[size];
        fs.Read(btFileStream, 0, size);
        fs.Close();
        ShowImage(btFileStream, "test.doc");      
    }
    private void ShowImage(byte[] bt, string fileName)
    {
        if (bt.Length > 0)
        {
            int tag;
            Response.Clear();
            Response.AddHeader("Content-Disposition", "inline; filename=" + Server.UrlPathEncode(fileName));
            tag = fileName.ToUpper().IndexOf(".DOC");
            if (fileName.ToUpper().IndexOf(".DOC") > -1)
            {
                Response.ContentType = "application/octet-stream";
            }
            else if (fileName.ToUpper().IndexOf(".XLS") > -1)
            {
                Response.ContentType = "application/octet-stream";
            }
            else if (fileName.ToUpper().IndexOf(".PDF") > -1)
            {
                Response.ContentType = "application f";
            }
            else if (fileName.ToUpper().IndexOf(".ppt") > -1)
            {
                Response.ContentType = "application/ms-powerpoint";
            }
            else
            {
                Response.ContentType = "application/X-unknown";
            }

            Response.BinaryWrite(bt);
            Response.Flush();
        }
    }

posted @ 2008-08-26 23:15  只想做好  阅读(480)  评论(0)    收藏  举报