Как изменить / добавить метаданные в файл System.Drawing.Image - PullRequest
0 голосов
/ 10 ноября 2010

Бизнес-цель : я создаю CMS и позволяю пользователю "удалять" изображения, которые они ранее загрузили на сервер.

Проблема : если я разрешу им действительно удалить изображения, они останутся со старыми сообщениями, которые они создали с уже испорченными изображениями. Пример: пользователь загружает vtWinsACC2005.jpg, пишет статью о нем, ссылающуюся на изображение, затем, наконец, очищает свою галерею и удаляет это изображение, но оставляет статью в покое, заканчивая статьей со сломанным изображением.

Цель : когда пользователь «удаляет» ранее загруженное изображение, я хочу добавить поле «заметки» или метаданные любого типа к реальному файлу в IO с чем-то например «hidden = true», и в моей логике GetFiles () я проверю, чтобы убедиться, что метаданные не существуют. Таким образом, пользователь не видит изображения, которые он удалил, и он может даже «восстановить» изображения в будущем, которые они не хотели удалять. Когда они восстанавливаются, я могу просто стереть метаданные из этого файла, и все.

Альтернатива : сохраните простую таблицу поиска в базе данных с помощью userId + fileName и назовите ее «HiddenUserImage», но описанный выше способ более интересен, и если мне не нужно добавлять другую стол, то отлично!

Есть идеи? Это будет в C #. Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 ноября 2010

Завершено с использованием таблицы поиска в db

0 голосов
/ 10 ноября 2010

Я думаю, вы можете создать для каждого изображения альтернативный поток данных NTFS, скрытый файл ADS, который сопоставлен с вашим файлом изображения, и сохранить там свойство hidden = true.

...