public static byte[] ReadFile(IFileStorageProviderDataProvider dataProvider, Guid physicalFileID, string extensionName, long position, int readCount) { LogHelper.Log.ErrorFormat("FileStorageManager.ReadFile(IFileStorageProviderDataProvider dataProvider='{0}', Guid physicalFileID='{1}', string extensionName='{2}', long position='{3}', int readCount='{4}')", dataProvider, physicalFileID, extensionName, position, readCount); byte[] result = null; IFileStorageProvider provider = FileStorageProviderFactory.CreateFileStorageProvider(dataProvider, physicalFileID, extensionName); if (provider != null) { try { if (readCount > 0) { provider.Seek(position, System.IO.SeekOrigin.Begin); byte[] buffer = GetCacheBuffer(readCount); int readLen = provider.Read(buffer, 0, readCount); if (readLen > 0) { result = new byte[readLen]; Buffer.BlockCopy(buffer, 0, result, 0, readLen); } } } catch (Exception ex) { LogHelper.Log.Error(ex.Message, ex); } finally { provider.Close(); } } LogHelper.Log.ErrorFormat("FileStorageManager.ReadFile Result Bytes Length='{0}'", result.Length); return(result); }
public static long WriteFile(IFileStorageProviderDataProvider dataProvider, Guid physicalFileID, string extensionName, long position, byte[] writeData) { long result = 0; IFileStorageProvider provider = FileStorageProviderFactory.CreateFileStorageProvider(dataProvider, physicalFileID, extensionName); if (provider != null) { try { int length = 0; if (writeData != null) { length = writeData.Length; } if (length > 0) { provider.Seek(position, System.IO.SeekOrigin.Begin); provider.Write(writeData, 0, length); result = provider.Length; } } finally { provider.Close(); } } return(result); }