zoukankan      html  css  js  c++  java
  • 使用流上传WORD和下载WORD(oracle)

     1private void Button1_Click(object sender, System.EventArgs e)//上传
     2  {
     3   int intDocLen = File1.PostedFile.ContentLength;
     4   byte[] Docbuffer = new byte[intDocLen];
     5   Stream objStream;
     6   objStream = File1.PostedFile.InputStream;
     7   objStream.Read(Docbuffer, 0, intDocLen);
     8   OracleConnection con = new OracleConnection("user id=nj;data source=njoraclelocal;password=124578;");
     9   con.Open();
    10   OracleCommand cmd = new OracleCommand("InSert Into AAAA(WORD) Values(:word)",con);
    11   OracleParameter para = new OracleParameter(":word",OracleType.Blob);
    12   para.Value = Docbuffer;
    13   para.Size = Docbuffer.Length;
    14   cmd.Parameters.Add(para);
    15   cmd.ExecuteNonQuery();
    16   con.Close();
    17//   objStream.Close();
    18  }

    19
    20  private void Button2_Click(object sender, System.EventArgs e)//下载
    21  {
    22//   OracleConnection con = new OracleConnection("user id=nj;data source=NJORACLELOCAL;password=124578;");
    23//   OracleCommand cmd = new OracleCommand("Select * From AAAA",con);
    24//      con.Open();
    25//   OracleDataReader dr = cmd.ExecuteReader();
    26//   dr.Read();
    27//   Byte[] words = (Byte[])dr["WORD"];
    28//   Response.OutputStream.Write(words,0,words.Length);
    29
    30
    31   string queryString = "Select * From AAAA where ROWID = 'AAAHsVAAJAAAAuHAAB'";
    32   OracleConnection conn = new OracleConnection("user id=nj;data source=NJORACLELOCAL;password=124578;");
    33   OracleCommand cmd = new OracleCommand(queryString,conn);
    34   conn.Open();
    35   OracleDataReader dr = cmd.ExecuteReader();
    36   if (dr.Read())
    37   {
    38    Response.Clear();
    39    Response.AddHeader("Content-Type""application/msword");
    40//    Response.AddHeader("content-type","text/html");
    41    Response.BinaryWrite((byte[])dr["WORD"]);//WDSJ为该BLOB字段名
    42   }

    43   dr.Close();
    44   conn.Close();
    45
    46  }

    47
    48

    PS:给下载文件指定默认名

       Response.AddHeader("Content-Type", StrDownType(fileExten));
       Response.AddHeader("Content-Disposition", "attachment;filename="+HttpUtility.UrlEncode("自定义文件名", System.Text.Encoding.UTF8)+"."+fileExten);

        /// <summary>
            /// 根据后缀确定流类型
            /// </summary>
            /// <param name="extension">后缀名</param>
            /// <returns></returns>
            private static string StrDownType(string extension)
            {
                if (extension == "doc" || extension == "docx")
                {
                    return "application/msword";
                }
                else if (extension == "xls" || extension == "xlsx")
                {
                    return "application/vnd.ms-excel";
                }
                return "text/html";
            }

  • 相关阅读:
    《aelf经济和治理白皮书》重磅发布:为DAPP提供治理高效、价值驱动的生态环境
    在线直播: .NET与物联网主流技术探秘 初识IoT!
    2019,.Net开发者的高光时刻
    git stash 切换分支以后 恢复
    redis之简单动态字符串(SDS)
    mysql机制总结
    mac 修改用户权限
    sql注入方法以及防范
    redis学习
    mysql百万数据分页查询速度
  • 原文地址:https://www.cnblogs.com/sgy2008/p/1128175.html
Copyright © 2011-2022 走看看