Media
Here is a list of methods and examples of working with Media
GetAll()
// returns all media
var media = await client.Media.GetAll();
GetByID
// returns media by ID
var media = await client.Media.GetByID(123);
Query
Create parametrized request
// returns result of query
var queryBuilder = new MediaQueryBuilder();
queryBuilder.PerPage = 40;
queryBuilder.Page = 2;
queryBuilder.Before = DateTime.Now;
var media = await client.Pages.Query(queryBuilder);
Create new Media
Create for .Net Standard 1.1+
.Net Standard 1.1-1.3 doesn`t support file manipulation (read or write). So only way to send file content is to create Stream with file content manually. Applicable for .netcore 1.0 apps
// returns created media
// for create media item you must read them to Stream. Media items can be audio, video, image, pdf ot any othe type supported by wordpress
Stream s = File.OpenRead("pathToMedia/media.jpg");
if (await client.IsValidJWToken())
{
var createdMedia = await client.Media.Create(s,"media.jpg");
}
Create for .Net Standard 2.0+
.Net Standard 2.0 supports files manipulation. You can send media files by passing its full path to file. Applicable for .netcore 2.0 apps
// returns created media
// for create media item you must read them to Stream. Media items can be audio, video, image, pdf ot any othe type supported by wordpress
if (await client.IsValidJWToken())
{
var createdMedia = await client.Media.Create(@"C:\pathToFile\media.jpg","media.jpg");
}
Update Media
// returns updated media
var media= client.Media.GetByID(123);
media.Title.Raw = "New Title";
if (await client.IsValidJWToken())
{
var updatedMedia = await client.Media.Update(media);
}
Delete Media
// returns result of deletion
if (await client.IsValidJWToken())
{
var result = await client.Media.Delete(123);
}