Ви можете додавати, редагувати, видаляти або вилучати деталі зображення, такі як висота, ширина, марка, модель тощо, які зберігаються у формі метаданих програмним шляхом. Як розробник на C#, ви можете легко видобувати метадані зображень і керувати ними програмними засобами в хмарі. У цій статті ви дізнаєтесь, як видобувати та маніпулювати метаданими зображень за допомогою REST API у C#.
У цій статті обговорюються/розкриваються такі теми:
- REST API маніпуляції метаданими документів і .NET SDK
- Додайте метадані до зображень за допомогою REST API
- Оновіть метадані зображення за допомогою REST API
- Видаліть метадані із зображень за допомогою REST API
- Отримайте метадані із зображень за допомогою REST API
REST API маніпуляції метаданими документів і .NET SDK
Для роботи з метаданими зображень JPEG я буду використовувати API .NET SDK GroupDocs.Metadata Cloud. Він дозволяє додавати, редагувати, отримувати та видаляти властивості метаданих із документів і форматів файлів зображень. Вам просто потрібно визначити критерії пошуку, і API метаданих Cloud REST подбає про вказані операції метаданих у межах підтримуваних форматів файлів. Він також надає Java SDK як члени родини обробки метаданих документів для Cloud API.
Ви можете встановити GroupDocs.Metadata у свій проект Visual Studio з диспетчера пакетів NuGet або за допомогою такої команди в консолі диспетчера пакетів:
Install-Package GroupDocs.Metadata-Cloud
Будь ласка, отримайте свій ідентифікатор клієнта та секрет клієнта з інформаційної панелі, перш ніж почати виконувати кроки та доступні приклади коду. Отримавши ідентифікатор клієнта та секрет, додайте код, як показано нижче:
string clientID = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string myStorage = "";
Configuration configuration = new Configuration(clientID, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";
Додайте метадані до зображень за допомогою REST API у C#
Ви можете додати метадані до зображень, виконавши прості дії, наведені нижче:
- Завантажте зображення в хмару
- Додайте метадані до зображення за допомогою C#
- Завантажити оновлене зображення
Завантажте зображення
По-перше, завантажте файл JPEG у хмару, використовуючи наведений нижче зразок коду:
// ініціалізація API
FileApi fileApi = new FileApi(configuration);
string path = @"C:\Files";
var file = Directory.GetFiles(path, "input.jpg", SearchOption.AllDirectories).FirstOrDefault();
if (file.Length != 0)
{
var relativeFilePath = file.Replace(path, string.Empty).Trim(Path.DirectorySeparatorChar);
var fileStream = File.Open(file, FileMode.Open);
fileApi.UploadFile(new UploadFileRequest(relativeFilePath, fileStream, myStorage));
fileStream.Close();
}
У результаті завантажений файл зображення JPEG буде доступним у розділі файлів вашої інформаційної панелі в хмарі.
Додайте метадані до зображення за допомогою C#
Ви можете програмно додати метадані до зображення JPEG, виконавши наведені нижче дії.
- Створіть екземпляр MetadataApi
- Встановіть шлях до файлу зображення JPEG у моделі FileInfo
- Визначте AddOptions
- Встановіть значення та критерії пошуку для властивості за допомогою моделі AddProperty
- Створіть AddRequest за допомогою AddOptions
- Отримайте результати, викликавши метод MetadataApi.Add().
У наведеному нижче прикладі коду показано, як додати метадані до зображення JPEG за допомогою REST API.
// ініціалізація API
var apiInstance = new MetadataApi(configuration);
// вхідний шлях зображення
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.jpg"
};
// визначте параметри додавання метаданих
var options = new AddOptions
{
FileInfo = fileInfo,
Properties = new List<AddProperty>
{
new AddProperty
{
Value = "All rights reserved.",
Type = "String",
SearchCriteria = new SearchCriteria
{
TagOptions = new TagOptions
{
PossibleName = "Copyright"
}
},
}
}
};
// додати запит
var request = new AddRequest(options);
var response = apiInstance.Add(request);
Завантажте зображення
Наведені вище зразки коду збережуть оновлений файл JPEG у хмарі, і його можна буде завантажити за допомогою такого зразка коду:
// ініціалізація API
var fileApi = new FileApi(configuration);
// шлях за замовчуванням
var file = "metadata\\add_metadata\\input_jpg\\input.jpg";
// запит на завантаження
var downloadRequest = new DownloadFileRequest(file, myStorage);
Stream downloadResponse = fileApi.DownloadFile(downloadRequest);
using (var fileStream = File.Create("C:\\Files\\input.jpg"))
{
downloadResponse.Seek(0, SeekOrigin.Begin);
downloadResponse.CopyTo(fileStream);
}
Оновити метадані зображення за допомогою C#
Ви можете програмно оновити метадані зображення JPEG, виконавши наведені нижче дії.
- Створіть екземпляр MetadataApi
- Встановіть шлях до файлу зображення JPEG у моделі FileInfo
- Визначте SetOptions
- Установіть NewValue і SearchCriteria для властивості за допомогою моделі SetProperty
- Створіть SetRequest за допомогою SetOptions
- Отримайте результати, викликавши метод MetadataApi.Set().
У наведеному нижче прикладі коду показано, як установити метадані зображення JPEG за допомогою REST API. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити та завантажити файл.
// ініціалізація API
var apiInstance = new MetadataApi(configuration);
// вхідний шлях зображення
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.jpg"
};
// визначити параметри набору метаданих
var options = new SetOptions
{
FileInfo = fileInfo,
Properties = new List<SetProperty>
{
new SetProperty
{
NewValue = "Copyright 2021",
SearchCriteria = new SearchCriteria
{
TagOptions = new TagOptions
{
PossibleName = "Copyright"
}
},
Type = "String"
}
}
};
// запит на оновлення
var request = new SetRequest(options);
var response = apiInstance.Set(request);
Видалення метаданих із зображення за допомогою C#
Ви можете програмно видалити метадані із зображення JPEG, виконавши наведені нижче дії.
- Створіть екземпляр MetadataApi
- Встановіть шлях до файлу зображення JPEG у моделі FileInfo
- Визначте RemoveOptions
- Встановіть критерії пошуку
- Створіть RemoveRequest за допомогою RemoveOptions
- Отримайте результати, викликавши метод MetadataApi.Remove().
У наступному прикладі коду показано, як видалити метадані із зображення JPEG за допомогою REST API. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити та завантажити файл.
// ініціалізація API
var apiInstance = new MetadataApi(configuration);
// вхідний шлях зображення
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.jpg"
};
// визначте параметри видалення метаданих
var options = new RemoveOptions
{
FileInfo = fileInfo,
SearchCriteria = new SearchCriteria
{
TagOptions = new TagOptions
{
PossibleName = "Copyright"
}
}
};
// видалити запит
var request = new RemoveRequest(options);
var response = apiInstance.Remove(request);
Вилучення метаданих із зображення за допомогою C#
Ви можете отримати метадані із зображення JPEG програмним шляхом, виконавши наведені нижче дії.
- Створіть екземпляр MetadataApi
- Встановіть шлях до файлу зображення JPEG у моделі FileInfo
- Визначте ExtractOptions
- Створіть ExtractRequest за допомогою ExtractOptions
- Отримайте результати, викликавши метод MetadataApi.Extract().
У наведеному нижче прикладі коду показано, як отримати метадані із зображення JPEG за допомогою REST API. Щоб завантажити файл, виконайте наведені вище дії.
// ініціалізація API
var apiInstance = new MetadataApi(configuration);
// вихідний файл
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.jpg"
};
// витягти опції
var options = new ExtractOptions
{
FileInfo = fileInfo
};
// запит на вилучення
var request = new ExtractRequest(options);
var response = apiInstance.Extract(request);
// витягнуті метадані
if (response.MetadataTree.InnerPackages != null)
{
var innerPackages = response.MetadataTree.InnerPackages;
for (int i = 0; i < innerPackages.Count; i++)
{
Console.WriteLine($"\nPackage: {innerPackages[i].PackageName}");
var packageProperties = innerPackages[i].PackageProperties;
for (int j = 0; j < packageProperties.Count; j++)
{
Console.WriteLine(packageProperties[j].Name + " : " + packageProperties[j].Value);
}
}
}
Наведений вище зразок коду дасть такий результат:
Package: FileFormat
FileFormat : 9
MimeType : image/jpeg
ByteOrder : 1
Width : 480
Height : 360
Package: Xmp
http://ns.microsoft.com/photo/1.0/ :
Package: Exif
Exif.GpsIfd :
Exif.ExifIfd :
Make : Canon
Model : Canon PowerShot S40
Orientation : System.Int32[]
XResolution : System.Double[]
YResolution : System.Double[]
ResolutionUnit : System.Int32[]
DateTime : 2003:12:14 12:01:44
YCbCrPositioning : System.Int32[]
ExifIfd : System.Int64[]
Exif.Thumbnail : System.Byte[]
Спробуйте онлайн
Будь ласка, спробуйте наведений нижче безкоштовний онлайн-інструмент для обробки метаданих JPEG, розроблений за допомогою вищезазначеного API. https://products.groupdocs.app/metadata/jpeg
Висновок
У цій статті ви дізналися, як додавати, редагувати, видаляти та видобувати метадані із зображень у хмарі. У цій статті також пояснюється, як програмно завантажити файл зображення JPEG у хмару та завантажити його з хмари. Ви можете дізнатися більше про GroupDocs.Metadata Manipulation Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.