public void WriteFile(string fileName, byte[] raw) { FileLocation location = GetLocation(fileName); DbFileStorage storage = GetStorage(location.ConnectionId); string path = location.Path; string folder = Path.GetDirectoryName(path); string file = Path.GetFileName(path); long? folderId = this.GetFolderId(storage.FolderTable, folder); storage.FileTable.WriteFile(raw, folderId, file); }
/// <summary> /// Read file from SQLite DB /// </summary> /// <param name="fileName">File name</param> /// <returns></returns> public byte[] ReadFile(string fileName) { FileLocation location = GetLocation(fileName); DbFileStorage storage = GetStorage(location.ConnectionId); string path = location.Path; string folder = Path.GetDirectoryName(path); string file = Path.GetFileName(path); long? folderId = this.GetFolderId(storage.FolderTable, folder); return(storage.FileTable.ReadFile(folderId, file)); }
private DbFileStorage GetStorage(long connectionGroupId) { DbFileStorage dbFileStorage; lock (this._syncLock) { this._tables.TryGetValue(connectionGroupId, out dbFileStorage); if (dbFileStorage == null) { dbFileStorage = DbFileStorage.CreateTables(this, connectionGroupId); this._tables.Add(connectionGroupId, dbFileStorage); } } return(dbFileStorage); }