Esempio n. 1
0
        /// <summary>
        /// Delete an image.
        /// </summary>
        /// <param name="fileName"></param>
        public static void DeleteImage(string fileName, VersionData VersionInfo)
        {
            var sampleContainer = getCloudBlobContainer(VersionInfo);

            CloudBlockBlob blob = sampleContainer.GetBlockBlobReference(fileName);

            blob.Delete();
        }
Esempio n. 2
0
        //static public string LocalRoot = @"C:\ScanOptics\LocalStorage\";
        #endregion

        #region Methods
        /// <summary>
        /// Connect to blob storage.
        /// </summary>
        /// <returns></returns>
        private static CloudBlobContainer getCloudBlobContainer(VersionData VersionInfo)
        {
            //Directory.CreateDirectory(LocalRoot);
            string accountKey = VersionInfo.accountKey;

            CloudStorageAccount storageAccount  = CloudStorageAccount.Parse(accountKey);
            CloudBlobClient     storageClient   = storageAccount.CreateCloudBlobClient();
            CloudBlobContainer  sampleContainer = storageClient.GetContainerReference(VersionInfo.container);

            sampleContainer.CreateIfNotExists();

            return(sampleContainer);
        }
Esempio n. 3
0
        /// <summary>
        /// Get a list of all images in the blob.
        /// </summary>
        /// <returns></returns>
        public static List <BlobImage> LoadAllImages(VersionData VersionInfo)
        {
            var result          = new List <BlobImage>();
            var sampleContainer = getCloudBlobContainer(VersionInfo);

            foreach (var blob in sampleContainer.ListBlobs(blobListingDetails: BlobListingDetails.Metadata))
            {
                CloudBlockBlob blockBlob = blob as CloudBlockBlob;
                if (blockBlob != null)
                {
                    string imageFile = System.IO.Path.GetFileName(blockBlob.Uri.ToString());
                    if (!blockBlob.Metadata.ContainsKey(METADATA_CAPTION_KEY))
                    {
                        blockBlob.Metadata[METADATA_CAPTION_KEY] = imageFile;
                    }
                    if (!blockBlob.Metadata.ContainsKey(METADATA_DESCRIPTION_KEY))
                    {
                        blockBlob.Metadata[METADATA_DESCRIPTION_KEY] = "Uploaded image";
                    }
                    if (!blockBlob.Metadata.ContainsKey(METADATA_UPLOADKEY_KEY))
                    {
                        blockBlob.Metadata[METADATA_UPLOADKEY_KEY] = string.Empty;
                    }
                    if (!blockBlob.Metadata.ContainsKey(METADATA_CUSTOMER_KEY))
                    {
                        blockBlob.Metadata[METADATA_CUSTOMER_KEY] = string.Empty;
                    }
                    if (!blockBlob.Metadata.ContainsKey(METADATA_ORIGINAL_FILENAME))
                    {
                        blockBlob.Metadata[METADATA_ORIGINAL_FILENAME] = string.Empty;
                    }

                    result.Add(new BlobImage()
                    {
                        Caption     = blockBlob.Metadata[METADATA_CAPTION_KEY],
                        Description = blockBlob.Metadata[METADATA_DESCRIPTION_KEY],
                        UploadKey   = blockBlob.Metadata[METADATA_UPLOADKEY_KEY],
                        CustomerID  = blockBlob.Metadata[METADATA_CUSTOMER_KEY],
                        FileName    = blockBlob.Metadata[METADATA_ORIGINAL_FILENAME],
                        Url         = blockBlob.Uri.ToString()
                    });
                }
                //blockBlob.Delete();
            }

            return(result);
        }
Esempio n. 4
0
        /// <summary>
        /// Get an image from the blob, does not delete it.
        /// Allows the caller to specify where to store the local file.
        /// </summary>
        /// <param name="BlobFileName"></param>
        /// <param name="LocalFileName"></param>
        /// <returns></returns>
        internal static IList <byte[]> GetImage(string BlobFileName, VersionData VersionInfo, int imageType)
        {
            var sampleContainer = getCloudBlobContainer(VersionInfo);

            CloudBlockBlob blob = sampleContainer.GetBlockBlobReference(BlobFileName);

            using (var memoryStream = new MemoryStream())
            {
                blob.DownloadToStream(memoryStream);
                IList <byte[]> images = new List <byte[]>();
                if (imageType == 2)
                {
                    images = GetTiffImageThumb(memoryStream, 120, 200);
                }
                else
                {
                    images.Add(memoryStream.ToArray());
                    //images = PDFToImage(memoryStream, 120, 200);
                }
                return(images);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Upload an image to the blob
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="imageStream"></param>
        /// <param name="UploadKey"></param>
        /// <param name="CustomerID"></param>
        public static bool UploadImage(string fileName, byte[] binData, string storageKey, VersionData VersionInfo, string OrgKey, string InputFile)
        {
            var sampleContainer = getCloudBlobContainer(VersionInfo);

            if (sampleContainer != null)
            {
                CloudBlockBlob blob = sampleContainer.GetBlockBlobReference(storageKey);
                if (blob != null)
                {
                    if (!blob.Metadata.ContainsKey(METADATA_CAPTION_KEY))
                    {
                        blob.Metadata[METADATA_CAPTION_KEY] = fileName;
                    }
                    if (!blob.Metadata.ContainsKey(METADATA_DESCRIPTION_KEY))
                    {
                        blob.Metadata[METADATA_DESCRIPTION_KEY] = "Image uploaded at " + DateTime.Now.ToString();
                    }
                    if (!blob.Metadata.ContainsKey(METADATA_UPLOADKEY_KEY))
                    {
                        blob.Metadata[METADATA_UPLOADKEY_KEY] = storageKey;
                    }
                    if (!blob.Metadata.ContainsKey(METADATA_CUSTOMER_KEY))
                    {
                        blob.Metadata[METADATA_CUSTOMER_KEY] = OrgKey;
                    }
                    if (!blob.Metadata.ContainsKey(METADATA_ORIGINAL_FILENAME))
                    {
                        blob.Metadata[METADATA_ORIGINAL_FILENAME] = InputFile;
                    }
                    blob.UploadFromByteArray(binData, 0, binData.Length);
                    return(true);
                }
            }
            return(false);
        }