对应的数据表的字段类型是:text
保存的时候:
string strContent = XmlLib.XML_TextToDoc(TextBox_Content.Text);
//toBase64
strContent = Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(strContent));
再插入到数据表中.
打开的时候
string strSQL = "Select * From sys_DocManage Where [ID]="+s_strID;
string strConn = Session["ConnString"].ToString();
OleDbConnection objConn = new OleDbConnection(strConn);
objConn.Open();
OleDbCommand objComm = new OleDbCommand(strSQL, objConn);
OleDbDataReader objReader = objComm.ExecuteReader();
if(objReader.Read())
{
string strContent = objReader["Content"].ToString();
//cover base64 to string
if (strContent != "")
{
//转成文本便于编辑
byte[] ayByte = Convert.FromBase64String(strContent);
strContent = System.Text.Encoding.Default.GetString(ayByte);
}
TextBox_Content.Text = strContent;
txtFieldName.Text = objReader["Name"].ToString();
}
objReader.Close();
objConn.Close();
下载的时候
string id = Request["id"];
if (id != null && id != string.Empty)
{
string pattern = @"^[1-9]/d*$";
Regex reg = new Regex(pattern);
if (reg.IsMatch(id))
{
string connStr = Session["ConnString"].ToString();
OleDbConnection conn = new OleDbConnection(connStr);
conn.Open();
//
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT Content,Name,FileType FROM sys_DocManage WHERE ID=" + id;
OleDbDataReader dr = cmd.ExecuteReader();
dr.Read();
int fileDataCol = 0;
string filename = dr["Name"].ToString();
string fileType = dr["FileType"].ToString();
string fileContent = dr["Content"].ToString();
byte[] a = Convert.FromBase64String(fileContent);//base64 的下载
//Byte[] a = System.Text.Encoding.Default.GetBytes(fileContent);//非base64 的下载
Response.ContentType = "Application/msword";
//你把这一句换成相应类型即可
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename + "." + fileType );
this.Response.Clear();
System.IO.Stream fs = this.Response.OutputStream;
fs.Write(a, 0, a.Length);
fs.Close();
this.Response.End();
}
else
{
Response.Write("Error: 参数错误");
}
}
else
{
Response.Write("Error: 参数错误");
}