コード例 #1
0
 /// <summary>
 /// Sets the meta data.
 /// </summary>
 /// <param name="metaData">The meta data.</param>
 public void SetMetaData(BinaryStorageMetaData metaData)
 {
     if (metaData != null)
     {
         Container   = metaData.Container;
         Identifier  = metaData.Identifier;
         Name        = metaData.Name;
         Hash        = metaData.Hash;
         ContentType = metaData.ContentType;
         Length      = metaData.Length;
         Width       = metaData.Width;
         Height      = metaData.Height;
         Duration    = metaData.Duration;
     }
 }
コード例 #2
0
 /// <summary>
 /// Sets the meta data.
 /// </summary>
 /// <param name="metaData">The meta data.</param>
 public void SetMetaData(BinaryStorageMetaData metaData)
 {
     if (metaData != null)
     {
         Container = metaData.Container;
         Identifier = metaData.Identifier;
         Name = metaData.Name;
         Hash = metaData.Hash;
         Mime = metaData.Mime;
         Length = metaData.Length;
         Width = metaData.Width;
         Height = metaData.Height;
         Duration = metaData.Duration;
     }
 }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BinaryStorageObject"/> class.
 /// </summary>
 /// <param name="metaData">The meta data.</param>
 public BinaryStorageObject(BinaryStorageMetaData metaData)
     : base()
 {
     SetMetaData(metaData);
 }
コード例 #4
0
        /// <summary>
        /// Uploads the BLOB by container URI.
        /// </summary>
        /// <param name="containerUri">The container URI.</param>
        /// <param name="blobIdentifier">The BLOB identifier.</param>
        /// <param name="content">The content.</param>
        /// <param name="encoding">The encoding.</param>
        /// <param name="meta">The meta.</param>
        /// <param name="metaData">The meta data.</param>
        /// <returns>System.String for ETag.</returns>
        public static string UploadBlobByContainerUri(string containerUri, string blobIdentifier, string content, Encoding encoding = null, BinaryStorageMetaData meta = null, IDictionary<string, string> metaData = null)
        {
            try
            {
                content.CheckEmptyString("content");

                return UploadBlobByContainerUri(containerUri, blobIdentifier, (encoding ?? Encoding.UTF8).GetBytes(content), meta, metaData);
            }
            catch (Exception ex)
            {
                throw ex.Handle("UploadBlobByContainerUri", new { containerUri, blobIdentifier });
            }
        }
コード例 #5
0
        /// <summary>
        /// Downloads the BLOB by container URI.
        /// </summary>
        /// <param name="containerUri">The container URI.</param>
        /// <param name="blobIdentifier">The BLOB identifier.</param>
        /// <param name="fetchAttribute">if set to <c>true</c> [fetch attribute].</param>
        /// <param name="meta">The meta.</param>
        /// <param name="metaData">The meta data.</param>
        /// <returns>System.Byte[].</returns>
        public static byte[] DownloadBlobByContainerUri(string containerUri, string blobIdentifier, bool fetchAttribute, out BinaryStorageMetaData meta, out IDictionary<string, string> metaData)
        {
            try
            {
                containerUri.CheckEmptyString("containerUri");
                blobIdentifier.CheckEmptyString("blobIdentifier");

                var container = new CloudBlobContainer(new Uri(containerUri));
                var blob = container.GetBlockBlobReference(blobIdentifier);
                meta = new BinaryStorageMetaData();
                blob.Properties.FillMeta(meta);

                return DownloadBlob(blob, fetchAttribute, out metaData);
            }
            catch (Exception ex)
            {
                throw ex.Handle("DownloadBlobByContainerUri", new { containerUri, blobIdentifier });
            }
        }
コード例 #6
0
        /// <summary>
        /// Fills the meta.
        /// </summary>
        /// <param name="meta">The meta.</param>
        /// <param name="metaData">The meta data.</param>
        public static void FillMeta(this Dictionary<string, string> meta, BinaryStorageMetaData metaData)
        {
            if (meta != null && metaData != null)
            {
                if (metaData.Duration != null)
                {
                    meta.Merge(metaDuration, metaData.Duration.ToString());
                }

                if (metaData.Height != null)
                {
                    meta.Merge(metaHeight, metaData.Height.ToString());
                }

                if (metaData.Width != null)
                {
                    meta.Merge(metaWidth, metaData.Width.ToString());
                }
            }
        }
コード例 #7
0
        /// <summary>
        /// Fills the meta.
        /// </summary>
        /// <param name="meta">The meta.</param>
        /// <param name="metaData">The meta data.</param>
        public static void FillMeta(this Dictionary<string, string> meta, BinaryStorageMetaData metaData)
        {
            if (meta != null && metaData != null)
            {
                if (metaData.Duration != null)
                {
                    meta.Merge("duration", metaData.Duration.ToString());
                }

                if (metaData.Height != null)
                {
                    meta.Merge("height", metaData.Height.ToString());
                }

                if (metaData.Width != null)
                {
                    meta.Merge("width", metaData.Width.ToString());
                }

                if (metaData.OwnerKey != null)
                {
                    meta.Merge("owner", metaData.OwnerKey.ToString());
                }
            }
        }
コード例 #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BinaryStorageObject"/> class.
 /// </summary>
 /// <param name="metaData">The meta data.</param>
 public BinaryStorageObject(BinaryStorageMetaData metaData)
     : base()
 {
     SetMetaData(metaData);
 }