Exemple #1
0
        public byte[] GetFilePart(string alias, long offset, int fetchSize)
        {
            if (fetchSize > MaxReadFileChunk)
            {
                throw new SoftwareException("Unable to read more than '{0}' bytes from a file. Client requested '{1}'.", MaxReadFileChunk, fetchSize);
            }
            var fileInfo = LocalStore.GetInfo(alias);

            if (offset > fileInfo.Length)
            {
                throw new ArgumentOutOfRangeException("offset", "Offset '{0}' larger than file size '{1}'".FormatWith(offset, fileInfo.Length));
            }

            using (var reader = LocalStore.OpenRead(alias)) {
                reader.Seek(offset, SeekOrigin.Begin);
                var bytes     = new byte[fetchSize];
                var bytesRead = reader.Read(bytes, 0, fetchSize);
                Array.Resize(ref bytes, bytesRead);
                return(bytes);
            }
        }
Exemple #2
0
 public T GetUploadedObject <T>(string alias)
 {
     using (var streamReader = new StreamReader(LocalStore.OpenRead(alias))) {
         return(XmlProvider.Read <T>(streamReader));
     }
 }