private static IEnumerable <ContainerObject> ListAllObjects(
            IObjectStorageProvider provider,
            string containerName,
            int?blockSize          = null,
            string prefix          = null,
            string region          = null,
            bool useInternalUrl    = false,
            CloudIdentity identity = null)
        {
            if (blockSize <= 0)
            {
                throw new ArgumentOutOfRangeException("blockSize");
            }

            ContainerObject lastContainerObject = null;

            do
            {
                string marker = lastContainerObject != null ? lastContainerObject.Name : null;
                IEnumerable <ContainerObject> containerObjects =
                    provider.ListObjects(containerName, blockSize, marker, null, prefix, region, useInternalUrl, identity);
                lastContainerObject = null;
                foreach (ContainerObject containerObject in containerObjects)
                {
                    lastContainerObject = containerObject;
                    yield return(containerObject);
                }
            } while (lastContainerObject != null);
        }
        private static IEnumerable<ContainerObject> ListAllObjects(
            IObjectStorageProvider provider,
            string containerName,
            int? blockSize = null,
            string prefix = null,
            string region = null,
            bool useInternalUrl = false,
            CloudIdentity identity = null)
        {
            if (blockSize <= 0)
                throw new ArgumentOutOfRangeException("blockSize");

            ContainerObject lastContainerObject = null;

            do
            {
                string marker = lastContainerObject != null ? lastContainerObject.Name : null;
                IEnumerable<ContainerObject> containerObjects =
                    provider.ListObjects(containerName, blockSize, marker, null, prefix, region, useInternalUrl, identity);
                lastContainerObject = null;
                foreach (ContainerObject containerObject in containerObjects)
                {
                    lastContainerObject = containerObject;
                    yield return containerObject;
                }
            } while (lastContainerObject != null);
        }
 public void ListObjects(IObjectStorageProvider provider, string containerName)
 {
     Console.WriteLine("Objects in container {0}", containerName);
     foreach (ContainerObject containerObject in ListAllObjects(provider, containerName))
     {
         Console.WriteLine("    {0}", containerObject.Name);
     }
 }
        public void CreateObjectWithMetadata(
            IObjectStorageProvider provider,
            string containerName,
            string objectName,
            Stream data)
        {
            // Method 1: Set metadata when the object is created
            var headers = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
            {
                { CloudFilesProvider.ObjectMetaDataPrefix + "Key", "Value" }
            };
            provider.CreateObject(containerName, data, objectName, headers: headers);

            // Method 2: Set metadata in a separate call after the object is created
            provider.CreateObject(containerName, data, objectName);
            var metadata = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
            {
                { "Key", "Value" }
            };
            provider.UpdateObjectMetadata(containerName, objectName, metadata);
        }
        public void CreateObjectWithMetadata(
            IObjectStorageProvider provider,
            string containerName,
            string objectName,
            Stream data)
        {
            // Method 1: Set metadata when the object is created
            var headers = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase)
            {
                { CloudFilesProvider.ObjectMetaDataPrefix + "Key", "Value" }
            };

            provider.CreateObject(containerName, data, objectName, headers: headers);

            // Method 2: Set metadata in a separate call after the object is created
            provider.CreateObject(containerName, data, objectName);
            var metadata = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase)
            {
                { "Key", "Value" }
            };

            provider.UpdateObjectMetadata(containerName, objectName, metadata);
        }
        private static string ReadAllObjectText(IObjectStorageProvider provider, string containerName, string objectName, Encoding encoding, int chunkSize = 65536, Dictionary<string, string> headers = null, string region = null, bool verifyEtag = false, Action<long> progressUpdated = null, bool useInternalUrl = false, CloudIdentity identity = null)
        {
            using (MemoryStream downloadStream = new MemoryStream())
            {
                provider.GetObject(containerName, objectName, downloadStream, chunkSize, headers, region, verifyEtag, progressUpdated, useInternalUrl, identity);

                downloadStream.Position = 0;
                StreamReader reader = new StreamReader(downloadStream, encoding);
                return reader.ReadToEnd();
            }
        }
 private static Dictionary<string, string> GetAccountMetadataWithPrefix(IObjectStorageProvider provider, string prefix)
 {
     Dictionary<string, string> metadata = provider.GetAccountMetaData();
     return FilterMetadataPrefix(metadata, prefix);
 }
 private static long GetContainerObjectSize(IObjectStorageProvider provider, string containerName, string objectName)
 {
     Dictionary<string, string> headers = provider.GetObjectHeaders(containerName, objectName);
     return long.Parse(headers["Content-Length"]);
 }
示例#9
0
 public MultipartFileController(IObjectStorageProvider objectStorage)
 {
     _objectStorage = objectStorage ?? throw new ArgumentNullException(nameof(objectStorage));
 }
 private static Dictionary<string, string> GetContainerMetadataWithPrefix(IObjectStorageProvider provider, Container container, string prefix)
 {
     Dictionary<string, string> metadata = provider.GetContainerMetaData(container.Name);
     return FilterMetadataPrefix(metadata, prefix);
 }
        private static IEnumerable<ContainerCDN> ListAllCDNContainers(IObjectStorageProvider provider, int? blockSize = null, bool cdnEnabled = false, string region = null, CloudIdentity identity = null)
        {
            if (blockSize <= 0)
                throw new ArgumentOutOfRangeException("blockSize");

            ContainerCDN lastContainer = null;

            do
            {
                string marker = lastContainer != null ? lastContainer.Name : null;
                IEnumerable<ContainerCDN> containers = provider.ListCDNContainers(blockSize, marker, null, cdnEnabled, region, identity);
                lastContainer = null;
                foreach (ContainerCDN container in containers)
                {
                    lastContainer = container;
                    yield return container;
                }
            } while (lastContainer != null);
        }
示例#12
0
 /// <summary>
 /// Not sure yet...
 /// </summary>
 /// <typeparam name="TId"></typeparam>
 /// <typeparam name="TDomain"></typeparam>
 /// <param name="type"></param>
 public void UseObjectProvider <TId, TDomain>(IObjectStorageProvider <TId, TDomain> type)
     where TDomain : StorageDomain <TId>
 {
     Container.Register <IObjectStorageProvider <TId, TDomain> >(type);
 }
示例#13
0
 /// <summary>
 /// Initializes the instance.
 /// Resolves a Service and Storage that will be used.
 /// </summary>
 protected BusinessBase()
 {
     Service = Resolver.Resolve <TService>();
     Storage = Resolver.Resolve <IObjectStorageProvider <TId, TDomain> >();
 }
示例#14
0
 public FileController(IObjectStorageProvider objectStorageProvider)
 {
     _objectStorageProvider = objectStorageProvider ?? throw new ArgumentNullException(nameof(objectStorageProvider));
 }
 public void ListObjects(IObjectStorageProvider provider, string containerName)
 {
     Console.WriteLine("Objects in container {0}", containerName);
     foreach (ContainerObject containerObject in ListAllObjects(provider, containerName))
         Console.WriteLine("    {0}", containerObject.Name);
 }
        private static string GetObjectContentType(IObjectStorageProvider provider, string containerName, string objectName)
        {
            Dictionary<string, string> headers = provider.GetObjectHeaders(containerName, objectName);

            string contentType;
            if (!headers.TryGetValue("Content-Type", out contentType))
                return null;

            return contentType.ToLowerInvariant();
        }
示例#17
0
 public ImageService(IObjectStorageProvider objectStorageProvider)
 {
     this.ImageOptimizer        = new ImageOptimizer();
     this.ObjectStorageProvider = objectStorageProvider;
 }