//<summary> //<newpara>方法功能:读取个人签名到内存</newpara> //</summary> //<param name="vMarkName"></param> //<param name="vPassWord"></param> //<returns></returns> private byte[] LoadMarkImage(string szSql) { //bool mResult = false; byte[] m_bytFileBody = null; System.IO.MemoryStream oStream = null; System.IO.BinaryWriter oWriter = null; try { //string szSelectCmd = "SELECT c.MarkBody FROM OA_ESignature c where c.CO='XF01' and c.UserId='" + userid + "'"; //if (m_oDbHelper == null) //{ // m_oDbHelper = new DbHelper(); //} //m_oDbHelper.OpenDbResource(); DbCommand mCommand = m_oDbHelper.CreateDbCommand(); mCommand.CommandType = CommandType.Text; mCommand.CommandText = szSql; IDataReader oReader = mCommand.ExecuteReader(System.Data.CommandBehavior.SequentialAccess); // LogCentral.CurrentLogger.LogInfo(); if (oReader.Read()) { if (!oReader.IsDBNull(0)) { int bufferSize = 500; // Size of the BLOB buffer. byte[] outbyte = new byte[bufferSize]; // The BLOB byte[] buffer to be filled by GetBytes. long retval; // The bytes returned from GetBytes. long startIndex = 0; // The starting position in the BLOB output. // Get ACL By BLOB ColumnType oStream = new System.IO.MemoryStream(); oWriter = new System.IO.BinaryWriter(oStream, System.Text.Encoding.UTF8); startIndex = 0; retval = oReader.GetBytes(0, startIndex, outbyte, 0, bufferSize); //ItemACL // Continue reading and writing while there are bytes beyond the size of the buffer. while (retval == bufferSize) { oWriter.Write(outbyte); oWriter.Flush(); startIndex += bufferSize; retval = oReader.GetBytes(0, startIndex, outbyte, 0, bufferSize); //ItemACL } // Write the remaining buffer. oWriter.Write(outbyte, 0, (int)retval); } //m_szFileType = oReader.GetString(1).ToString(); // mResult = true; } //else //{ // mResult = false; //} oReader.Close(); oReader = null; m_bytFileBody = oStream.GetBuffer(); //LogCentral.CurrentLogger.LogInfo("m_bytFileBody:" + m_bytFileBody.ToString()); LogCentral.CurrentLogger.LogInfo("m_bytFileBody:" + m_bytFileBody.Length); } catch (Exception e) { LogCentral.CurrentLogger.LogInfo(e.ToString()); //mResult = false; } finally { //m_oDbHelper.CloseDbResource(); try { if (oWriter != null) { oWriter.Flush(); oWriter.Close(); } } catch { } try { if (oStream != null) oStream.Close(); } catch { } } return m_bytFileBody; }
文章标题:c#读取个人签名到内存
本文网址:https://www.cdcxhl.com/article0/iehoio.html
成都网站建设公司_创新互联,为您提供动态网站、、品牌网站建设、建站公司、关键词优化、网站设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联