Exemple #1
0
        private async void Delete(string webDavPath)
        {
            Uri webDavUri = new Uri(webDavPath);

            Log.Debug("webDavUri {@webDavUri}", webDavUri);
            var    scheme           = webDavUri.Scheme;
            string webDavConnection = scheme + "://" + webDavUri.Host + ":" + webDavUri.Port;
            string path             = webDavUri.AbsolutePath;

            Log.Debug("webDavConnection {@webDavConnection}", webDavConnection);

            Log.Debug("UserName {@UserName}", WebDavCredentials.UserName);

            var client = new WebDAVClient.Client(WebDavCredentials);

            client.Server   = webDavConnection;
            client.BasePath = path;

            try
            {
                await client.DeleteFile(path);
            }
            catch (Exception ex)
            {
                Log.Warning("Error deleting file/folder {@ex}", ex);
            }

            string result = "N/A";

            Log.Information("Delete Status {StatusDescription}", result);
        }
Exemple #2
0
        private string GetFiles(string webDavPath)
        {
            Uri webDavUri = new Uri(webDavPath);

            Log.Debug("webDavUri {@webDavUri}", webDavUri);
            var    scheme           = webDavUri.Scheme;
            string webDavConnection = scheme + "://" + webDavUri.Host + ":" + webDavUri.Port;
            string path             = webDavUri.AbsolutePath;

            Log.Debug("webDavConnection {@webDavConnection}", webDavConnection);

            Log.Debug("UserName {@UserName}", WebDavCredentials.UserName);

            var client = new WebDAVClient.Client(WebDavCredentials);

            client.Server   = webDavConnection;
            client.BasePath = path;

            var    folderFiles = client.List().Result;
            string names       = "";

            foreach (var file in folderFiles)
            {
                names = names + file.DisplayName + ",";
            }

            Log.Debug("Files {@names}", names);
            return(names.TrimEnd('\r', '\n', ','));
        }
Exemple #3
0
        static void Main(string[] args)
        {
            // Basic authentication required
            var c = new WebDAVClient.Client(new NetworkCredential {
                UserName = "******", Password = "******"
            });

            c.Server   = "https://webdav.4shared.com";
            c.BasePath = "/";

            var files          = c.List("/").Result;
            var folder         = files.FirstOrDefault(f => f.Href.EndsWith("/Test/"));
            var folderReloaded = c.Get(folder.Href).Result;

            var folderFiles = c.List(folder.Href).Result;
            var folderFile  = folderFiles.FirstOrDefault(f => f.IsCollection == false);

            var x = c.Download(folderFile.Href).Result;

            var tempName     = Path.GetRandomFileName();
            var fileUploaded = c.Upload(folder.Href, File.OpenRead(@"C:\Users\itay.TZUNAMI\Desktop\Untitled.png"), tempName).Result;

            tempName = Path.GetRandomFileName();
            var folderCreated = c.CreateDir(folder.Href, tempName).Result;
        }
Exemple #4
0
        private void Upload(string webDavPath, string content)
        {
            Uri webDavUri = new Uri(webDavPath);

            Log.Debug("webDavUri {@webDavUri}", webDavUri);
            var    scheme           = webDavUri.Scheme;
            string webDavConnection = scheme + "://" + webDavUri.Host + ":" + webDavUri.Port;
            int    pathLastSlash    = webDavUri.AbsolutePath.LastIndexOf("/") + 1;
            string file             = webDavUri.AbsolutePath.Substring(pathLastSlash);
            string path             = webDavUri.AbsolutePath.Remove(pathLastSlash);

            Log.Debug("webDavConnection {@webDavConnection}", webDavConnection);

            Log.Debug("UserName {@UserName}", WebDavCredentials.UserName);

            MemoryStream stream = new MemoryStream();
            StreamWriter writer = new StreamWriter(stream);

            writer.Write(content);
            writer.Flush();
            stream.Position = 0;

            Log.Debug("stream {@stream}", stream);

            var client = new WebDAVClient.Client(WebDavCredentials);

            client.Server   = webDavConnection;
            client.BasePath = path;

            var fileUploaded = client.Upload("/", stream, file).Result;

            Log.Information("Upload Status {StatusDescription}", fileUploaded);
        }
Exemple #5
0
        public async void Upload(string filename)
        {
            // Basic authentication required
            var client = new WebDAVClient.Client(new NetworkCredential {
                UserName = GenericLogin(), Password = GenericPassword()
            });

            // Set basic information for WebDAV provider
            client.Server   = "http://" + _urlWebDav;
            client.BasePath = "/";

            try
            {
                string workingCopy = Path.GetTempFileName();
                File.Copy(filename, workingCopy, true);
                await client.Upload("/", File.OpenRead(workingCopy), _userGuid + ".xml");

                File.Delete(workingCopy);
            }
            catch (Exception e)
            {
                logger.Error(e);
                logger.Error(e.Message);
            }

            //             await client.DeleteFile(filename);
            //             await client.Upload("/", File.OpenRead("TimeMerge_Data.css"), "TimeMerge_Data.css");
            //             await client.Upload("/", File.OpenRead("TimeMerge_Data.xsl"), "TimeMerge_Data.xsl");

            //             Stream x = await client.Download("toDelete.xml");
            //             var reader = new StreamReader(x);
            //             string contents = reader.ReadToEnd();
        }
Exemple #6
0
        private async Task UpdatePackage(string packageName)
        {
            var credentials = new NetworkCredential("logon", "*logon*");
            var _c          = new WebDAVClient.Client(credentials);

            _c.Server   = @"https://nextcloud.espackeuro.com";
            _c.BasePath = @"/remote.php/dav/files/logon/Android/APK/";
            var _local = string.Format("{0}/{1}.apk", Android.OS.Environment.ExternalStorageDirectory.Path, packageName);

            try
            {
                var stream = await _c.Download(String.Format("{0}/{1}.apk", _c.BasePath, packageName));

                using (FileStream fs = File.OpenWrite(_local))
                    await stream.CopyToAsync(fs);

                //var items = await _c.List();
                //foreach (var item in items)
                //{
                //    var stream = await _c.Download(item.Href);
                //    using (FileStream fs = File.OpenWrite(string.Format(string.Format("{0}/{1}", Android.OS.Environment.ExternalStorageDirectory.Path, item.DisplayName))))
                //        await stream.CopyToAsync(fs);
                //}
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            var intent = new Intent(Intent.ActionView);

            intent.SetDataAndType(Android.Net.Uri.FromFile(new Java.IO.File(_local)), "application/vnd.android.package-archive");
            intent.SetFlags(ActivityFlags.NewTask);
            StartActivity(intent);
        }
Exemple #7
0
        private WebDAVClient.Client GetClient(string webDavPath)
        {
            Uri    webDavUri        = new Uri(webDavPath);
            var    scheme           = webDavUri.Scheme;
            string webDavConnection = scheme + "://" + webDavUri.Host + ":" + webDavUri.Port;
            var    client           = new WebDAVClient.Client(_credential);

            client.Server   = webDavConnection;
            client.BasePath = webDavUri.AbsolutePath;
            return(client);
        }
        private string GetFiles(string webDavPath)
        {
            Uri webDavUri = new Uri(webDavPath);
            Log.Verbose("webDavUri {@webDavUri}", webDavUri);
            var scheme = webDavUri.Scheme;
            string webDavConnection = scheme + "://" + webDavUri.Host + ":" + webDavUri.Port;
            string path = webDavUri.AbsolutePath;
            Log.Verbose("webDavConnection {@webDavConnection}", webDavConnection);

            Log.Debug("UserName {@UserName}", WebDavCredentials.UserName);

            var client = new WebDAVClient.Client(WebDavCredentials);
            client.Server = webDavConnection;
            client.BasePath = path;

            var folderFiles = client.List().Result;
            string names = "";
            foreach (var file in folderFiles)
            {
                names = names + file.DisplayName + ",";
            }

            Log.Debug("Files {@names}", names);
            return names.TrimEnd('\r', '\n', ',');
        }
        private async void Delete(string webDavPath)
        {
            Uri webDavUri = new Uri(webDavPath);
            Log.Verbose("webDavUri {@webDavUri}", webDavUri);
            var scheme = webDavUri.Scheme;
            string webDavConnection = scheme + "://" + webDavUri.Host + ":" + webDavUri.Port;
            string path = webDavUri.AbsolutePath;
            Log.Verbose("webDavConnection {@webDavConnection}", webDavConnection);

            Log.Debug("UserName {@UserName}", WebDavCredentials.UserName);

            var client = new WebDAVClient.Client(WebDavCredentials);
            client.Server = webDavConnection;
            client.BasePath = path;

            try
            {
                await client.DeleteFile(path);
            }
            catch (Exception ex)
            {
                Log.Warning("Error deleting file/ folder {@ex}", ex);
            }

            string result = "N/A";

            Console.WriteLine($"Delete Status {result}");
            Log.Information("Delete Status {StatusDescription}", result);
        }
        private void Upload(string webDavPath, string content)
        {
            Uri webDavUri = new Uri(webDavPath);
            Log.Verbose("webDavUri {@webDavUri}", webDavUri);
            var scheme = webDavUri.Scheme;
            string webDavConnection = scheme + "://" + webDavUri.Host + ":" + webDavUri.Port;
            int pathLastSlash = webDavUri.AbsolutePath.LastIndexOf("/") + 1;
            string file = webDavUri.AbsolutePath.Substring(pathLastSlash);
            string path = webDavUri.AbsolutePath.Remove(pathLastSlash);
            Log.Verbose("webDavConnection {@webDavConnection}", webDavConnection);

            Log.Debug("UserName {@UserName}", WebDavCredentials.UserName);

            MemoryStream stream = new MemoryStream();
            StreamWriter writer = new StreamWriter(stream);
            writer.Write(content);
            writer.Flush();
            stream.Position = 0;

            Log.Verbose("stream {@stream}", stream);

            var client = new WebDAVClient.Client(WebDavCredentials);
            client.Server = webDavConnection;
            client.BasePath = path;

            var fileUploaded = client.Upload("/", stream, file).Result;

            Console.WriteLine($"Upload Status {fileUploaded}");
            Log.Information("Upload Status {StatusDescription}", fileUploaded);
        }
        private string GetFiles(string webDavPath)
        {
            Uri webDavUri = new Uri(webDavPath);
            Log.Verbose("webDavUri {@webDavUri}", webDavUri);
            var scheme = webDavUri.Scheme;
            string webDavConnection = scheme + "://" + webDavUri.Host + ":" + webDavUri.Port;
            string path = webDavUri.AbsolutePath;
            Log.Verbose("webDavConnection {@webDavConnection}", webDavConnection);

            Log.Verbose("UserInfo {@UserInfo}", webDavUri.UserInfo);
            int userIndex = webDavUri.UserInfo.IndexOf(":");

            string user = webDavUri.UserInfo.Remove(userIndex, (webDavUri.UserInfo.Length - userIndex));
            Log.Verbose("user {@user}", user);

            string pass = webDavUri.UserInfo.Substring(userIndex + 1);
            Log.Verbose("pass {@pass}", pass);

            var client = new WebDAVClient.Client(new NetworkCredential {UserName = user, Password = pass});
            client.Server = webDavConnection;
            client.BasePath = path;

            var folderFiles = client.List().Result;
            string names = "";
            foreach (var file in folderFiles)
            {
                names = names + file.DisplayName + ",";
            }

            Log.Debug("Files {@names}", names);
            return names.TrimEnd('\r', '\n', ',');
        }
        private async void Delete(string webDavPath)
        {
            Uri webDavUri = new Uri(webDavPath);
            Log.Verbose("webDavUri {@webDavUri}", webDavUri);
            var scheme = webDavUri.Scheme;
            string webDavConnection = scheme + "://" + webDavUri.Host + ":" + webDavUri.Port;
            string path = webDavUri.AbsolutePath;
            Log.Verbose("webDavConnection {@webDavConnection}", webDavConnection);

            Log.Verbose("UserInfo {@UserInfo}", webDavUri.UserInfo);
            int userIndex = webDavUri.UserInfo.IndexOf(":");

            string user = webDavUri.UserInfo.Remove(userIndex, (webDavUri.UserInfo.Length - userIndex));
            Log.Verbose("user {@user}", user);

            string pass = webDavUri.UserInfo.Substring(userIndex + 1);
            Log.Verbose("pass {@pass}", pass);

            var client = new WebDAVClient.Client(new NetworkCredential {UserName = user, Password = pass});
            client.Server = webDavConnection;
            client.BasePath = path;

            try
            {
                await client.DeleteFile(path);
            }
            catch (Exception ex)
            {
                Log.Warning("Error deleting file/ folder {@ex}", ex);
            }

            string result = "N/A";

            Console.WriteLine($"Delete Status {result}");
            Log.Information("Delete Status {StatusDescription}", result);
        }
        private void Upload(string webDavPath, string content)
        {
            Uri webDavUri = new Uri(webDavPath);
            Log.Verbose("webDavUri {@webDavUri}", webDavUri);
            var scheme = webDavUri.Scheme;
            string webDavConnection = scheme + "://" + webDavUri.Host + ":" + webDavUri.Port;
            int pathLastSlash = webDavUri.AbsolutePath.LastIndexOf("/") + 1;
            string file = webDavUri.AbsolutePath.Substring(pathLastSlash);
            string path = webDavUri.AbsolutePath.Remove(pathLastSlash);
            Log.Verbose("webDavConnection {@webDavConnection}", webDavConnection);

            Log.Verbose("UserInfo {@UserInfo}", webDavUri.UserInfo);
            int userIndex = webDavUri.UserInfo.IndexOf(":");

            string user = webDavUri.UserInfo.Remove(userIndex, (webDavUri.UserInfo.Length - userIndex));
            Log.Verbose("user {@user}", user);

            string pass = webDavUri.UserInfo.Substring(userIndex + 1);
            Log.Verbose("pass {@pass}", pass);

            MemoryStream stream = new MemoryStream();
            StreamWriter writer = new StreamWriter(stream);
            writer.Write(content);
            writer.Flush();
            stream.Position = 0;

            Log.Verbose("stream {@stream}", stream);

            var client = new WebDAVClient.Client(new NetworkCredential {UserName = user, Password = pass});
            client.Server = webDavConnection;
            client.BasePath = path;

            var fileUploaded = client.Upload("/", stream, file).Result;

            Console.WriteLine($"Upload Status {fileUploaded}");
            Log.Information("Upload Status {StatusDescription}", fileUploaded);
        }