예제 #1
0
        internal bool GetObject(string key, long startPosition, long length, out Stream stream)
        {
            stream = null;
            if (String.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException(nameof(key));
            }
            if (startPosition < 0)
            {
                throw new ArgumentNullException(nameof(startPosition));
            }
            if (length < 0)
            {
                throw new ArgumentNullException(nameof(length));
            }

            Obj obj = GetObjectMetadata(key);

            if (obj == null)
            {
                return(false);
            }

            ObjectStream objStream = _StorageDriver.ReadRangeStream(obj.BlobFilename, startPosition, length);

            stream = objStream.Data;
            return(true);
        }