/// <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; } }
/// <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; } }
/// <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); }
/// <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 }); } }
/// <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 }); } }
/// <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()); } } }
/// <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()); } } }
/// <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); }