Ejemplo n.º 1
0
        public static void PostCreatedFiles(LocalFile file, string uploadUrl)
        {
            // Create post content
            var content = new MultipartFormDataContent();

            // Check we have content to send
            if (!LoadFileToDataContent(content, file))
            {
                Console.WriteLine("Failed to load file or no content as loaded. Cancel upload");
                return;
            }

            SendPostData(content, uploadUrl);
        }
Ejemplo n.º 2
0
 private static async void OnChanged(object source, FileSystemEventArgs e)
 {
     switch (e.ChangeType)
     {
         case WatcherChangeTypes.Created:
             var localFile = new LocalFile(e);
             if (!_queue.TryAdd(e.Name, localFile))
             {
                 Console.WriteLine("Failed to add");
             }
             // TODO: custom getter to always retrieve value from config
             if (BaseConfig.RefreshRate == 0)
             {
                 await Task.Factory.StartNew(() => 
                     RequestsHandler.PostCreatedFiles(localFile, BaseConfig.UploadUrl)
                 );
             }
             break;
         case WatcherChangeTypes.Deleted:
             LocalFile deleted;
             if (_queue.TryRemove(e.Name, out deleted))
             {
                 await Task.Factory.StartNew(() =>
                     RequestsHandler.DeleteFile(e.Name, BaseConfig.DeleteUrl)
                 );
             }
             else
             {
                 Console.WriteLine("Failed to remove");
             }
             break;
     }
 }
Ejemplo n.º 3
0
 private static bool LoadFileToDataContent(MultipartFormDataContent content, LocalFile file)
 {
     if (File.Exists(file.Path))
     {
         content.Add(new StreamContent(new FileStream(file.Path, FileMode.Open)), "file", file.Name);
         return true;
     }
     else
     {
         Console.WriteLine("Failed to load file: {0}", file.Name);
     }
     return false;
 }