public static bool UploadToMegaCloud(CloudDrive value, string file, out string message) { MegaApiClient client = new MegaApiClient(); try { client.Login(value.Uid, value.Password); var nodes = client.GetNodes(); INode root = nodes.Single(n => n.Type == NodeType.Root); INode myFile = client.UploadFile(file, root); Uri downloadUrl = client.GetDownloadLink(myFile); client.Logout(); message = downloadUrl.ToString(); return(true); } catch (Exception e) { message = e.Message; return(false); } //var nodes = client.GetNodes(); //INode root = nodes.Single(n => n.Type == NodeType.Root); //INode myFolder = client.CreateFolder("Upload", root); //INode myFile = client.UploadFile("MyFile.ext", myFolder); //Uri downloadUrl = client.GetDownloadLink(myFile); //Console.WriteLine(downloadUrl); }
protected int SaveToFileHosting(string[] files, int id, string folderPathConst) { // open mega.nz connection MegaApiClient client = new MegaApiClient(); string megaUsername = _configuration[Shared.Constants.UsernameConfigPath]; string megaPassword = _configuration[Shared.Constants.PasswordConfigPath]; client.Login(megaUsername, megaPassword); foreach (var file in files) { if (file.Length > 0) { // prepare string var splitString = file.Split("||"); var fileBase64String = splitString.First(); // prepare file var bytes = Convert.FromBase64String(fileBase64String); using MemoryStream stream = new MemoryStream(); stream.Write(bytes, 0, bytes.Length); stream.Seek(0, SeekOrigin.Begin); // determine file name var fileName = splitString.Length > 2 ? splitString[1] : Guid.NewGuid().ToString(); // save file to mega.nz var folderPath = $"{folderPathConst}{id}"; IEnumerable <INode> nodes = client.GetNodes(); INode cloudFolder = nodes.SingleOrDefault(x => x.Type == NodeType.Directory && x.Name == folderPath); if (cloudFolder == null) { INode root = nodes.Single(x => x.Type == NodeType.Root); cloudFolder = client.CreateFolder(folderPath, root); } var extension = splitString.Last(); INode cloudFile = client.Upload(stream, $"{fileName}.{extension}", cloudFolder); Uri downloadLink = client.GetDownloadLink(cloudFile); // prepare entity var entity = new Attachment { Name = fileName, Url = downloadLink.AbsoluteUri, ExtensionType = extension }; // DetermineEntityNavigation(entity, folderPathConst, id); _dbContext.Add(entity); } } // close mega.nz connection client.Logout(); return(_dbContext.SaveChanges()); }
public void ConnectToDrive(object o) { lock (workerLocker) { try { MegaApiClient client = new MegaApiClient(); client.Login(ConfigurationManager.AppSettings["UserName"], ConfigurationManager.AppSettings["Password"]); var nodes = client.GetNodes(); INode root = nodes.Single(n => n.Type == NodeType.Root); INode myFolder = client.CreateFolder("Upload " + DateTime.Today, root); string source = ConfigurationManager.AppSettings["Source"]; string typeFiles = ConfigurationManager.AppSettings["TypeFile"]; var files = Directory.GetFiles(source, "*." + typeFiles, SearchOption.TopDirectoryOnly); var file = files.OrderByDescending(File.GetLastWriteTime).First(); /* var filterFiles = files.Where((n) => File.GetCreationTime(n).ToShortDateString() == date);*/ using (var stream = new ProgressionStream(new FileStream(file, FileMode.Open), PrintProgression) ) { INode myFile = client.Upload(stream, Path.GetFileName(file), myFolder); client.GetDownloadLink(myFile); } } catch (Exception ex) { var path = Path.Combine(Environment.CurrentDirectory, "log.txt"); //if (!File.Exists(path)) //{ // File.Create(path); //} using (FileStream fs = new FileStream(path, FileMode.Append)) { using (StreamWriter sw = new StreamWriter(fs)) { sw.WriteLine("=========MEGA=============" + Environment.NewLine); sw.WriteLine("-----" + DateTime.Now.ToShortDateString() + "-----" + Environment.NewLine); sw.WriteLine(ex.Message); } }; } finally { run = 0; Monitor.Pulse(workerLocker); } } }
public void mega() { progress_qr_code_upload(); string qr_path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\\qr"; string qr_dest = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\codes.zip"; using (ZipFile zip = new ZipFile(System.Text.Encoding.Default)) { foreach (var file in System.IO.Directory.GetFiles(qr_path)) { zip.AddFile(file); } zip.Save(qr_dest); } try { var client = new MegaApiClient(); string zip_location = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\\codes.zip"; client.Login("ADD_MEGA_USERNAME_HERE", "PASSWORD_HERE"); IEnumerable <INode> nodes = client.GetNodes(); INode root = nodes.Single(x => x.Type == NodeType.Root); INode myFolder = client.CreateFolder("QR-Codes", root); INode myFile = client.UploadFile(zip_location, myFolder); Uri downloadLink = client.GetDownloadLink(myFile); Console.WriteLine(downloadLink); string download = downloadLink.ToString(); MessageBox.Show(download + "" + "Preview QR-Codes and save", "Copied to Clipboard", MessageBoxButtons.YesNo); if (MessageBox.Show("Do you really want to preview QR-codes?", "Preview", MessageBoxButtons.YesNo) == DialogResult.Yes) { Form2 qrcode_preview = new Form2(); qrcode_preview.ShowDialog(); } Clipboard.SetText(download); client.Logout(); MessageBox.Show("all done. qr-code location:" + zip_location); } catch (Exception error) { MessageBox.Show("Error uploading QR-Codes to mega" + error); return; } }
private void Upt_Tick(object sender, EventArgs e) { if (td.IsCompleted) { INode m = td.Result; Uri downloadLink = client.GetDownloadLink(m); Clipboard.SetText(downloadLink.ToString()); Console.WriteLine(downloadLink.ToString()); System.Diagnostics.Process.Start(downloadLink.ToString()); MessageBox.Show("Upload Complete!\n" + downloadLink.ToString() + "\nCopied to Clipboard!", "Finished!", MessageBoxButton.OK, MessageBoxImage.Information); client.Logout(); Upt.Stop(); } }
private void subirArchivoAMega() { try { string Fecha = DateTime.Now.ToString("yyy-MM-dd"); lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Conectando..."; })); progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); MegaApiClient cliente = new MegaApiClient(); cliente.Login("*****@*****.**", "corajitos12"); progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Obteniendo directorios..."; })); var nodos = cliente.GetNodes(); lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Buscando carpeta 'Backup'..."; })); bool existe = cliente.GetNodes().Any(n => n.Name == "Backup " + Fecha); INode root; INode carpeta; if (existe == true) { lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Obteniendo la carpeta 'Backup'...."; })); progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); carpeta = nodos.Single(n => n.Name == "Backup " + Fecha); } else { lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Creando carpeta 'Backup'..."; })); progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); root = nodos.Single(n => n.Type == NodeType.Root); carpeta = cliente.CreateFolder("Backup " + Fecha, root); } progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Subiendo archivo..."; })); progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); INode archivo = cliente.UploadFile(@"C:\Database Tec34\DatabaseEscTec.db", carpeta); Uri downloadUrl = cliente.GetDownloadLink(archivo); lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Archivo subido con éxito."; })); } catch (Exception error) { t.Abort(); MessageBox.Show("Error al intentar subir el archivo. " + error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } this.Invoke((MethodInvoker) delegate { this.Close(); }); }