• 使用流上传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";
            }

  • 相关阅读:
    七天学会ASP.NET MVC(七)——创建单页应用
    七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递
    七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC
    七天学会ASP.NET MVC (四)——用户授权认证问题
    七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理
    网页倒计时跳转页面的效果
    javascript中最简单Ajax实例
    经典SQL语句大全(绝对的经典)
    .NET中的加密类(可设置密钥)
    非常强大的 jQuery.AsyncBox 弹窗插件
  • 原文地址:https://www.cnblogs.com/sgy2008/p/1128175.html
Copyright © 2020-2023  润新知