Подтвердить что ты не робот

Asp.net - отсутствующие изображения изображений после загрузки изображения на сервер

Я загружаю изображение на сервер, а затем обрабатываю изображение. Забавная вещь, после загрузки изображений изображения ключевые слова отсутствуют. Хотя есть другие свойства изображения.

введите описание изображения здесь

Нет проблем с разбором тегов, поэтому, пожалуйста, проигнорируйте ниже фрагмент кода.

using (var xmp = Xmp.FromFile(workingFilePath, XmpFileMode.ReadOnly))
{
    var iptc = new Iptc(xmp);
    var Keywords = iptc.Keywords;
}

Примечание. Я использую FineUploader для загрузки изображения.

Конфигурация FineUploader -

var manualUploader = new qq.FineUploader({
    element: document.getElementById('fine-uploader-manual-trigger'),
    template: 'qq-template-manual-trigger',
    request: {
        endpoint: '/image/uploadimage',
        params: {
            datestamp: datetimeStamp
        }
    },
    callbacks: {
    },
    autoUpload: false,
    multiple: true
});

qq(document.getElementById("trigger-upload")).attach("click", function () {
    manualUploader.uploadStoredFiles();
});

Журнал Fineuploader -

 [Fine Uploader 5.10.1] Received 1 files.
 [Fine Uploader 5.10.1] Attempting to validate image.
 [Fine Uploader 5.10.1] Generating new thumbnail for 0
 [Fine Uploader 5.10.1] Attempting to draw client-side image preview.
 [Fine Uploader 5.10.1] Attempting to determine if _DSE8404.jpg can be rendered in this browser
 [Fine Uploader 5.10.1] First pass: check type attribute of blob object.
 [Fine Uploader 5.10.1] Second pass: check for magic bytes in file header.
 [Fine Uploader 5.10.1] '_DSE8404.jpg' is  able to be rendered in this browser
 [Fine Uploader 5.10.1] Moving forward with EXIF header parsing for '_DSE8404.jpg'
 [Fine Uploader 5.10.1] EXIF Byte order is little endian
 [Fine Uploader 5.10.1] Found 10 APP1 directory entries
 [Fine Uploader 5.10.1] Successfully parsed some EXIF tags
 [Fine Uploader 5.10.1] Sending simple upload request for 0
 [Fine Uploader 5.10.1] xhr - server response received for 0

Изменить: Похоже, я нашел проблему. В теге есть Исландский символ. Это проблема. Кто-нибудь знает, как это решить!

Последнее редактирование Если эти теги были добавлены из Adobe Photoshop Lightroom, то перед этой проблемой. Но если те же теги добавляются с оконной машины путем обновления свойств, это работает!

4b9b3361

Ответ 1

В вашей проблеме могут быть две причины:

  • В какой-то момент вы переписываете свое изображение, возможно, с классом, который либо неправильно обрабатывает теги, либо вытесняет их из-за своей конфигурации.
    Если вы просто сохраните точный двоичный контент, который вы получите от клиента, вы также получите исходные теги, если ваш файл изображения будет отформатирован так, как вы ожидаете.

  • Если ваш файл изображения хранится иначе, чем вы ожидаете, теги могут не извлекаться в зависимости от способа их извлечения.
    Например, теги JPG/JPEG могут храниться по-разному (XMP - один). Подробнее см. следующую ссылку. Вы увидите, что есть другие способы хранения тегов (например, EXIF, Extended XMP, QVCI, FLIR).
    Чтобы получить эти теги, вам придется разбирать их в соответствии с тем, как они встроены в ваш файл изображения.
    Из опубликованного на сервере кода, , вы только просматриваете теги XMP. В зависимости от программного обеспечения, используемого для кодирования исходного изображения, теги могут храниться в альтернативном формате.

Хотя это выглядит очевидно, мой совет:

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

JPEG файлы могут быть действительно трудными для правильной обработки из-за различных способов их хранения.