c#中byte[]和string的轉換

來源:互聯網
上載者:User
Using System.Text;
byte[ ] 轉換為string
byte[ ] image;
string ll = Encoding.Default.GetString(image);
string 轉換為byte[ ]
string ss;
byte[] b = Encoding.Default.GetBytes(ss);
資料庫中image類型的欄位的處理。
首先我想從資料庫中讀出圖片(以image類型儲存的), 並且寫入txt檔案中:
private void GetImage()
  {
    string conn = "Server=192.168.0.11; User id=user; Pwd=pwd; Database=database";
    SqlConnection sqlCon = new SqlConnection(conn);
    string sql = "SELECT ImageFile, PersonID FROM Persons where PersonID = 1";
    SqlCommand myCommand = new SqlCommand();
    myCommand.Connection = sqlCon;
    myCommand.CommandType = CommandType.Text;
    myCommand.CommandText = sql;
    DataTable myTable = new DataTable();
    SqlDataAdapter myDataAda = new SqlDataAdapter();
    myDataAda.SelectCommand = myCommand;
    try
    {
      sqlCon.Open();
      myDataAda.Fill(myTable);
      sqlCon.Close();
      if(myTable.Rows.Count>0)
      {
        byte[] image = (byte[])myTable.Rows[0]["ImageFile"];
        string ll = Encoding.Default.GetString(image);
        WriteStr(@"F:\test.txt",ll);
      }
    }
    catch(Exception ex)
    {
      string err = ex.Message;
    }
    finally
    {
      sqlCon.Close();
      myCommand.Dispose();
      myDataAda.Dispose();
    }
  }
  private void WriteStr(string strLogFileName, string strLogContent)
  {
    try
    {
      FileInfo objFileInfo = new FileInfo(strLogFileName);
      using (FileStream objFileStream = objFileInfo.OpenWrite())
      {
        using (StreamWriter objStreamWriter = new StreamWriter(objFileStream))
        {
          objStreamWriter.BaseStream.Seek(0, SeekOrigin.End);
          objStreamWriter.Write("{0}", strLogContent);
        }
      }
    }
    catch
    {
    }
  }
其次,需要把圖片從txt檔案中讀出然後存入資料庫中。
string ss = ReadStr(@"F:\test.txt");
    byte[] b = Encoding.Default.GetBytes(ss);
    string conn = "Server=server; User id=user; Pwd=pwd; Database=database";
    SqlConnection sqlCon = new SqlConnection(conn);
    string sql = "update Persons set ImageFile=@img where PersonID = 1";
    SqlCommand myCommand = new SqlCommand();
    SqlParameter sp = new SqlParameter("@img",SqlDbType.Image);
    myCommand.Connection = sqlCon;
    myCommand.CommandType = CommandType.Text;
    myCommand.CommandText = sql;
    sp.Value = b;
    myCommand.Parameters.Add(sp);
    try
    {
      sqlCon.Open();
      myCommand.ExecuteNonQuery();
      sqlCon.Close();
    }
    catch(Exception eS)
    {
      string ee = eS.Message;
    }
    finally
    {
      sqlCon.Close();
      myCommand.Dispose();
    }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.