Ahojte. Dostala som za ulohu ulozit obrazok a neskor ho zase nacitat do DB. Na nete som nasla tutorial. Je tam kusok kodu, ktorym si nie som ista.
byte[] ReadImageToBytes(string sPath)
{
//Initialize byte array with a null value initially.
byte[] data = null;
//Use FileInfo object to get file size.
FileInfo fInfo = new FileInfo(sPath);
long numBytes = fInfo.Length;
//Open FileStream to read file
FileStream fStream = new FileStream(sPath, FileMode.Open,
FileAccess.Read);
//Use BinaryReader to read file stream into byte array.
BinaryReader br = new BinaryReader(fStream);
data = br.ReadBytes((int)numBytes);
return data;
1. Na zaciatku sa vytvori pole bytov.
2. Pomocou FileInfo sa zrejme zisti velkost obrazka podla ktorej sa nastavi pole.
3. Trieda FileStream: Pouzivam ju prvy krat a podla toho co som citala je to nejaky abstraktny obal nad polom bytov. Predstavujem si to asi tak, ze ak StreamWritter nejakym sposobom obaluje, alebo zapuzdruje funkcie pre pracu s textovym suborom, FileStream umoznuje to iste s prudom bytov. Prosim, pokial tomu rozumiem zle, opravte ma.
4.BinaryReader: Ten by mal umoznovat zapis/citanie do/z binarnych suborov. A tu je problem. Neviem, preco sa to riesi takto. Nestaci jednoducho ulozit ten obrazok pomocou FileStreamu do pola bytov a to pole nasledne ulozit do DB ? Aky je vlastne vztah medzi BinaryReaderom a FileStreamerom. Pozerala som sa aj na MSDN a asi tak ako som to uviedla vyssie som tomu pochopila. Tu mi je to ale nejasne a velmi by mi pomohlo, keby som vedela o co tam ide, pretoze na zaciatku studia som sa ucila kody skoro naspamat a velmi mi to nepomohlo.
Za pochopenie a trpezlivost dakujem