Esempio n. 1
0
        public FileDownloadReturnMessage DownloadAllFiles(FileDownloadMessage request)
        {
            var localFileName = request.FileMetaData.LocalFileName;

            try
            {
                var urls     = _repository.GetAllUrls();
                var fileList = new Dictionary <string, byte[]>();
                foreach (var url in urls)
                {
                    fileList.Add(url.ScreenshotFileName, File.ReadAllBytes(url.ScreenshotFilePath));
                }
                var filePath       = string.Format(ConfigurationManager.AppSettings["ZipPath"], Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName);
                var fileName       = CompressToZip(fileList, filePath);
                var serverFileName = filePath + fileName;
                localFileName = $"{localFileName.TrimEnd('\\')}\\{fileName}";

                var fs = new FileStream(serverFileName, FileMode.Open);

                return(new FileDownloadReturnMessage(new FileMetaData(localFileName, serverFileName, ""), fs));
            }
            catch (IOException e)
            {
                Console.WriteLine("An error occurred in DownloadAllFiles()");
                Console.WriteLine($"Error: {e.Message}");
                throw new IOException();
            }
        }
Esempio n. 2
0
        public FileDownloadReturnMessage DownloadFile(FileDownloadMessage request)
        {
            var localFileName = request.FileMetaData.LocalFileName;
            var url           = request.FileMetaData.Url;
            var fileName      = _repository.GetUrlByName(url)?.ScreenshotFileName;

            if (String.IsNullOrWhiteSpace(fileName))
            {
                Console.WriteLine($"No data found for: {fileName}");
                return(new FileDownloadReturnMessage(new FileMetaData("", "", ""), new MemoryStream()));
            }

            var serverFileName = string.Format(ConfigurationManager.AppSettings["DownloadPath"], Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName) + fileName;

            localFileName = $"{localFileName.TrimEnd('\\')}\\{fileName}";

            try
            {
                var fs = new FileStream(serverFileName, FileMode.Open);

                return(new FileDownloadReturnMessage(new FileMetaData(localFileName, serverFileName, url), fs));
            }
            catch (IOException e)
            {
                Console.WriteLine("An error occurred in DownloadFile()");
                Console.WriteLine($"Error: {e.Message}");
                throw new IOException();
            }
        }
Esempio n. 3
0
        private static void DownloadFiles(IScreenshotService proxy)
        {
            var localFileName = "";
            var validPath     = false;

            while (!validPath)
            {
                Console.WriteLine("Enter your desired path to save the screenshots: ");
                localFileName = Console.ReadLine();
                try
                {
                    Directory.CreateDirectory(localFileName);
                    validPath = true;
                }
                catch (DirectoryNotFoundException e)
                {
                    Console.WriteLine("The path you entered is not valid");
                    validPath = false;
                }
            }
            var request = new FileDownloadMessage();

            request.FileMetaData = new FileMetaData(localFileName, "", "");

            Console.WriteLine("Do you want to download all screenshots? Y/N");
            var input       = Console.ReadLine();
            var downloadAll = input.ToUpper() == "Y";
            var url         = "";

            if (!downloadAll)
            {
                Console.WriteLine("Write the URL of which you want to download: ");
                url = Console.ReadLine();
                request.FileMetaData.Url = url;
            }

            try
            {
                using (FileDownloadReturnMessage response = downloadAll ? proxy.DownloadAllFiles(request) : proxy.DownloadFile(request))
                {
                    if (response != null && response.FileByteStream != null && !String.IsNullOrWhiteSpace(response.DownloadedFileMetadata.LocalFileName))
                    {
                        SaveFile(response.FileByteStream, response.DownloadedFileMetadata.LocalFileName);
                        Console.WriteLine("The download was successful.");
                    }
                    else
                    {
                        Console.WriteLine("Couldn't find the specified url");
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occured with the download.");
            }
        }
        private void btnDownload_Click(object sender, EventArgs e)
        {
            string filetodownload = @"C:\ProjectShare\Uploads\" + activeFile.Id.ToString() + "." + lblFIleInfo.Text.Substring(lblFIleInfo.Text.LastIndexOf('.') + 1);

               FileMetaData fmd = new FileMetaData();
            fmd.FullLocalPath = filetodownload;
            FileDownloadMessage fdm = new FileDownloadMessage(fmd);

            IssueDownloadRequest(filetodownload, fdm);
        }
        private void IssueDownloadRequest(string localFile, FileDownloadMessage fdm)
        {
            try
            {
                var response = fileClient.DownloadFile(fdm);

                if (response != null && response.FileByteStream != null)
                {
                    SaveFile(response.FileByteStream, Path.GetFileName(localFile));
                }

                fileClient.Close();
            }
            catch (Exception e)
            {
                //throw new FileTransferProxyException("Error while downloading the file", e);
                MessageBox.Show("error in downloading the fail \n" + e);
            }
        }
Esempio n. 6
0
 public FileDownloadReturnMessage DownloadFile(FileDownloadMessage request)
 {
     // IMPLEMENTATION HERE
     return null;
 }
Esempio n. 7
0
 public FileDownloadReturnMessage DownloadFile(FileDownloadMessage request)
 {
     // IMPLEMENTATION HERE
     return(null);
 }