Извлечение свойств файла Windows с помощью ссылки http - PullRequest
0 голосов
/ 18 мая 2018

Я работаю над этой проблемой , и предлагаемое решение работает для меня.

Однако теперь мне нужно выполнить эту работу в моем реальном приложении, котороевеб-приложение AWS Beanstalk .NET.Мое приложение beanstalk знает источник URL-адреса изображения.Зная URL, я могу получить поток и обработать файл (путем создания байтового массива и даже объекта Bitmap).

Однако, похоже, что для получения свойств файла, как указано выше (таких как тип камеры или приложение для рисования, которое создало файл), мне действительно нужен локальный файл, потому что это ожидаемый входной аргумент.

Это проблема для меня.Я знаю ссылку http, я знаю байты, но у меня нет такой вещи, как путь к файлу.

Как я могу решить эту проблему?Мне нужны свойства файла Windows.

1 Ответ

0 голосов
/ 28 мая 2018

Если я вас правильно понял, вы хотите прочитать метаданные изображения с URL-адреса, не сохраняя его сначала в файл, т. Е. Напрямую из Интернета.

Вот один из способов, который мне подходит:

string demoImageUrl = "https://raw.githubusercontent.com/ianare/exif-samples/master/jpg/Canon_40D.jpg";

byte[] imgData = null;

using (var wc = new WebClient())
{
    imgData = wc.DownloadData(demoImageUrl);
}

using (var sr = new MemoryStream(imgData, false))
{
    BitmapSource image = BitmapFrame.Create(sr);
    BitmapMetadata md = (BitmapMetadata)image.Metadata;
    string comment = md.Comment;
    string title = md.Title;
    string dateTaken = md.DateTaken;
}

Необходимо добавить ссылки на сборки PresentationCore и WindowsBase, а также включить следующее пространство имен:

using System.Windows.Media.Imaging;

Result

...