Beispiel #1
0
        public byte[] Download(string fileName)
        {
            var fileExist = _parent.Command("FileExists", fileName);

            if (fileExist == null)
            {
                return(null);
            }
            if (fileExist[0] != "True")
            {
                return(null);
            }

            HttpWebRequest request;

            byte[] fileContent = null;
            var    credentials = _parent.GetCredentials();

            var uri = _parent.GetApiPath() + @"?command=FileDownload(" + fileName + @")";

            try
            {
                request         = (HttpWebRequest)WebRequest.Create(uri);
                request.Method  = "GET";
                request.Timeout = DownloadTimeout;
                if (credentials != null)
                {
                    request.Credentials = credentials;
                }
                using (var response = (HttpWebResponse)request.GetResponse())
                {
                    using (var reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
                    {
                        try
                        {
                            fileContent =
                                Convert.FromBase64String(
                                    reader.ReadToEnd().Replace("<html>\n", "").Replace("\n</html>", "").Replace(
                                        "<html>", "")
                                    .Replace("</html>", ""));
                        }
                        catch (FormatException)
                        {
                            return(null);
                        }
                    }
                }
                _parent.Log("DOWNLOAD : " + fileName);
            }
            catch (WebException e)
            {
                _parent.Log("ERROR - DOWNLOAD : " + fileName + " - " + e.Message);
            }

            return(fileContent);
        }