开发者

C# - Attach file saved in database to an email

How can I add one or more files that are sav开发者_Python百科ed in a MS SQL database to an email? I already know how to attach files saved in a directory or from a fileUpload control.

My datable fields are as such:

col1: Email_ID - int

col2: file_name - varchar

col3: file_content - image

So my SQL select statement is prety simple:

Select file_name, file_content from Attachments where Email_ID = 333

I just can't figure how to attach them to my emails afterwards.

Thanks!


  SqlCommand cmdSelect=new SqlCommand("Select file_name, file_content " + 
              " from Attachments where Email_ID=@ID",this.sqlConnection1);
        cmdSelect.Parameters.Add("@ID",SqlDbType.Int,4);
        cmdSelect.Parameters["@ID"].Value=333;

DataTable dt = new DataTable();
        this.sqlConnection1.Open();
        SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = cmdSelect;
            sda.Fill(dt);
     if(dt.Rows.Count > 0)
{
        byte[] barrImg=(byte[])dt.Rows[0]["file_content"];
        string strfn= "Your File Directory Path" + Convert.ToString(dt.Rows[0]["file_name"]);
        FileStream fs=new FileStream(strfn, 
                          FileMode.CreateNew, FileAccess.Write);
        fs.Write(barrImg,0,barrImg.Length);
        fs.Flush();
        fs.Close();
   //now you can attache you file to email here your file is generate at path stored in "strfn" variable
}

References : http://www.codeproject.com/KB/database/ImageSaveInDataBase.aspx


Get image from SQL, convert it to stream then create Attachment to your emails. Sample: Attachment(Stream, String) Initializes a new instance of the Attachment class with the specified stream and name.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜