Haber...
fripas :
1º Importas el System.IO;
2º En mi ejemplo mi RichTextBox se llama
"rtb"(Que obviamente le tendrás que poner el nombre que lleva en tu formulario).
Almacenamos el RichTextBox en un directorio... por ejemplo en "Mis Documentos" :
Código C:
Ver originalrtb.SaveFile(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal) + @"\prueba.rtf", RichTextBoxStreamType.RichNoOleObjs);
Luego pasamos el archivo a un array de bytes llamado
arrFile :
Código C:
Ver originalFileStream mi_archivo = new FileStream((System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal) + @"\prueba.rtf"), FileMode.OpenOrCreate, FileAccess.ReadWrite);
Byte[] arrFile = new Byte[mi_archivo.Length];
BinaryReader reader = new BinaryReader(mi_archivo);
arrFile = reader.ReadBytes(Convert.ToInt32(mi_archivo.Length));
reader.Close();
esta variable
arrFile, es la que tienes que guardar en tu campo blob.
3º Después de todo el 2do paso, haces la consulta a tu BD donde está almacenado tu archivo y lo almacenas por ejemplo en un datatable(Para este tendrías que importar el
System.Data) :
Código C:
Ver originalDataTable data;
data = //TU CONSULTA CON UN MYSQLDATAADAPTER...
if (data.Rows.Count != 0)
{
//Creo mi arreglo que almacenara los bytes del archivo
Byte[] barrFile = (Byte[])(data.Rows[0][0]);
//Creo el archivo apartir de los bytes
using (FileStream newFile = new FileStream((System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal) + @"\prueba.rtf"), FileMode.Create, FileAccess.Write))
{
newFile.Write(barrFile, 0, barrFile.Length);
newFile.Flush();
newFile.Close();
}
}
Eso sería, espero haberte ayudado con tu problema. Saludos!
.