Exemplo n.º 1
0
        static void Main(string[] args)
        {
            string locationOfFolderToUpload = ConfigurationManager.AppSettings.Get("ImageFolderLocation");
            bool PauseAfterEachFile = bool.Parse(ConfigurationManager.AppSettings.Get("PauseAfterEachFile"));
            string StartUploadAtCharacter = ConfigurationManager.AppSettings.Get("StartUploadAtFilesBeginningWithLetter");
            bool UploadStarted = false;

            Console.WriteLine("Press any key to proceed.");
            Console.ReadLine();

            foreach (string fullLocalFilename in System.IO.Directory.GetFiles(locationOfFolderToUpload, "*.*", System.IO.SearchOption.AllDirectories))
            {
                try
                {
                    string filenameWithSlashes = fullLocalFilename.Replace(locationOfFolderToUpload, "").Replace("\\", "/").TrimStart('/');
                    string containerName = filenameWithSlashes.Substring(0, filenameWithSlashes.IndexOf("/"));
                    if (containerName.Length < 3) containerName = containerName + "1";

                    filenameWithSlashes = filenameWithSlashes.Substring(filenameWithSlashes.IndexOf('/')).TrimStart('/').Replace("[","").Replace("]","");

                    if (!containerName.ToLower().StartsWith(StartUploadAtCharacter.ToLower()) && !UploadStarted) continue;

                    UploadStarted = true;

                    Console.WriteLine("Container name: " + containerName);
                    // if container doesn't exist, create it
                    MyBlobContainer myBlob = new MyBlobContainer();
                    CloudBlobContainer container = myBlob.CreateBlobContainerIfNotExists(containerName);

                    Console.WriteLine("Attempting to upload file: " + filenameWithSlashes);
                    //Get a reference to a blob, which may or may not exist.
                    CloudBlockBlob blob = container.GetBlockBlobReference(filenameWithSlashes);
                    blob.Properties.ContentType = myBlob.GetImageContentType(filenameWithSlashes.Substring(filenameWithSlashes.LastIndexOf('.')));

                    using (MemoryStream ms = new MemoryStream(File.ReadAllBytes(fullLocalFilename)))
                    {
                        blob.UploadFromStream(ms);
                    }

                    Console.WriteLine("File Uploaded: " + filenameWithSlashes);
                    Console.WriteLine();

                    if (PauseAfterEachFile)
                    {
                        Console.WriteLine("Press any key to proceed.");
                        Console.ReadLine();
                    }
                }
                catch (Exception ex)
                {
                    string errorMsg = "fullLocalFilename: " + fullLocalFilename + "\n ex.Message: " + ex.Message + "  \n ex.StackTrace: " + ex.StackTrace + "\n fullLocalFilename: " + fullLocalFilename;
                    System.IO.File.AppendAllText("ErrorLog.txt", errorMsg);
                    Console.WriteLine(errorMsg);
                    Console.ReadLine();
                }

            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            string locationOfFolderToUpload = ConfigurationManager.AppSettings.Get("ImageFolderLocation");
            bool   PauseAfterEachFile       = bool.Parse(ConfigurationManager.AppSettings.Get("PauseAfterEachFile"));
            string StartUploadAtCharacter   = ConfigurationManager.AppSettings.Get("StartUploadAtFilesBeginningWithLetter");
            bool   UploadStarted            = false;

            Console.WriteLine("Press any key to proceed.");
            Console.ReadLine();

            foreach (string fullLocalFilename in System.IO.Directory.GetFiles(locationOfFolderToUpload, "*.*", System.IO.SearchOption.AllDirectories))
            {
                try
                {
                    string filenameWithSlashes = fullLocalFilename.Replace(locationOfFolderToUpload, "").Replace("\\", "/").TrimStart('/');
                    string containerName       = filenameWithSlashes.Substring(0, filenameWithSlashes.IndexOf("/"));
                    if (containerName.Length < 3)
                    {
                        containerName = containerName + "1";
                    }

                    filenameWithSlashes = filenameWithSlashes.Substring(filenameWithSlashes.IndexOf('/')).TrimStart('/').Replace("[", "").Replace("]", "");

                    if (!containerName.ToLower().StartsWith(StartUploadAtCharacter.ToLower()) && !UploadStarted)
                    {
                        continue;
                    }

                    UploadStarted = true;

                    Console.WriteLine("Container name: " + containerName);
                    // if container doesn't exist, create it
                    MyBlobContainer    myBlob    = new MyBlobContainer();
                    CloudBlobContainer container = myBlob.CreateBlobContainerIfNotExists(containerName);

                    Console.WriteLine("Attempting to upload file: " + filenameWithSlashes);
                    //Get a reference to a blob, which may or may not exist.
                    CloudBlockBlob blob = container.GetBlockBlobReference(filenameWithSlashes);
                    blob.Properties.ContentType = myBlob.GetImageContentType(filenameWithSlashes.Substring(filenameWithSlashes.LastIndexOf('.')));

                    using (MemoryStream ms = new MemoryStream(File.ReadAllBytes(fullLocalFilename)))
                    {
                        blob.UploadFromStream(ms);
                    }

                    Console.WriteLine("File Uploaded: " + filenameWithSlashes);
                    Console.WriteLine();

                    if (PauseAfterEachFile)
                    {
                        Console.WriteLine("Press any key to proceed.");
                        Console.ReadLine();
                    }
                }
                catch (Exception ex)
                {
                    string errorMsg = "fullLocalFilename: " + fullLocalFilename + "\n ex.Message: " + ex.Message + "  \n ex.StackTrace: " + ex.StackTrace + "\n fullLocalFilename: " + fullLocalFilename;
                    System.IO.File.AppendAllText("ErrorLog.txt", errorMsg);
                    Console.WriteLine(errorMsg);
                    Console.ReadLine();
                }
            }
        }