一个文件以二进制存放在数据库的字段(如SQL SERVER中的IMAGE类型字段)中,ASP.NET中如何实现在网页中调客户端相应的应用程序打开它?有哪位高手做过此类工作?请提供一下源码和设计思想,非常感谢!

解决方案 »

  1.   

    获取数据到DataReader中
    if(dataReader.Read())
    {
    Response.Clear();
    Response.AddHeader("Content-Type",dataReader["A"].ToString());
    Response.BinaryWrite((byte[])dataReader["B"]);
    }
    注释:A是你存储文件的类型
          B是你存储文件内容的字段
      

  2.   

    Response.AddHeader("Content-Type",dataReader["A"].ToString());出错如下:
    doctype 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IndexOutOfRangeException: doctype源错误: 
    行 35:  {
    行 36:  Response.Clear();
    行 37:  Response.AddHeader("Content-Type",FileLinkRD["doctype"].ToString());
    行 38:  Response.BinaryWrite((byte[])FileLinkRD["doc"]);
    行 39:  }
     
      

  3.   

    1。取得MIME类型
    2。Response.AddHeader("Content-Type",XXX);
      

  4.   

    Response.BinaryWrite((byte[])dataReader["B"]);这行已经可以把文件数据在网页中输出,可是怎样去调客户端应用程序在IE中把文件打开呢?哪位高手能指点一下?
      

  5.   

    ie会根据mime类型来找相应的程序打开文件
      

  6.   

    取得MIME类型如何实现?c#中如何才能取得MIME类型呢?