Michele Boscagin
Michele Boscagin

Reputation: 97

MEGA Api: Dowload a file

I try to download a file (an image) from mega. I download the API MegaApiClient from NuGet in Visual Studio 2015 (github project: https://github.com/gpailler/MegaApiClient). I try to do this:

 MegaApiClient mega = new MegaApiClient();
        mega.Login("username", "password");

        const string fileName = "fileName.jpg";
        const string folderName = "FilmImage";

        IEnumerable<INode> nodes = mega.GetNodes();
        List<INode> folders = nodes.Where(n => n.Type == NodeType.Directory).ToList();
        INode folder = folders.Where(f => f.Name == folderName).FirstOrDefault();

How to get the file from this folder? Thanks!

Upvotes: 1

Views: 11318

Answers (2)

WhitePaw
WhitePaw

Reputation: 1

IEnumerable<INode> nodes = client.GetNodes();
List<INode> folders = nodes.Where(n => n.Type == NodeType.Directory).ToList();
INode myFolder = folders.FirstOrDefault(f => f.Name == "FolderName");
IEnumerable<INode> folder = client.GetNodes(myFolder);
List<INode> allFiles = folder.Where(n => n.Type == NodeType.File).ToList();
INode myFile = allFiles.FirstOrDefault(f => f.Name == "FileName");
mega.DownloadFile(myFile, "DownloadFileDirectory");

Upvotes: 0

Stoyan Berov
Stoyan Berov

Reputation: 1371

What you could do is get a list of all the files and find the one with the required name:

IEnumerable<INode> nodes = mega.GetNodes();
List<INode> allFiles = nodes.Where(n => n.Type == NodeType.File).ToList();
INode myFile = allFiles.FirstOrDefault(f => f.Name == fileName);

You could then download it or do something else with it:

DownloadFile(myFile, downloadPath)

Upvotes: 2

Related Questions