Salvare delle immagini in un database. Come Fare?

venerdì 17 novembre 2006 - 15.39

smx Profilo | Newbie

Salve a tutti.
Sto creando una applicazione in c# che si avvale del supporto di un database access.
Nella mia applicazione ho degli alberi, oggetti di tipo System.Windows.Forms.TreeView.
Ai vari nodi dell'albero vorrei assegnare delle immagini.
purtroppo non posso fare questa operazione in design ma devo farla per forza da codicè poichè gli alberi li disegno da codice in quanto sono dinamici perchè dipendono da tabelle del database.
Per questo motivo vorrei salvare le immagini di cui ho bisogno in una tabella del database perchè non mi va di tenerle sul disco.
Come posso fare?

Grazie a tutti
Smx
---The Smx Code---

ysdemarc Profilo | Expert

questo non fa altro che leggere un file e restituire dati che vanno bene per il campo blob
e gli altri 2 successivi prendono il campo blob letto e lo mettono in memorystream o file... vedi se ti possono essere utili.

ciao

public static byte[] ToBlob(string file)
{
FileStream fs = null;
byte[] result = null;

if (File.Exists(file))
{
//Legge i dati del file indicato in un buffer
fs = new FileStream(file, FileMode.Open, FileAccess.Read);
result = new byte[fs.Length];
fs.Read(result, 0, (int)fs.Length);
fs.Close();
}

public static MemoryStream ToMemoryStream(byte[] blob)
{
MemoryStream ms = null;

try
{
ms = new MemoryStream(blob, 0, blob.Length);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}

return ms;
}

public static bool ToFile(byte[] blob, string filename)
{
bool result = false;
try
{
K.GetDir(filename);
//Scrittura dei dati su disco
FileStream fs=new FileStream(filename, FileMode.Create, FileAccess.Write);
fs.Write(blob, 0, blob.Length);
fs.Close();
result = true;
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}

return result;
}

return result;
}
Vincenzo
Programmatore sbilenco

jekisi Profilo | Senior Member

Usi un db Access?
Casomai è semplicissimo.
Fammi sapere

smx Profilo | Newbie

Si uso un database access
Smx
---The Smx Code---
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5