2016-09-26 1 views
13

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

enter image description here

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

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 

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

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

+0

Пожалуйста, покажите свою прекрасную конфигурацию загрузчика. –

+0

@RayNicholus - добавлено в сообщении выше –

+0

Знаменитый загрузчик определенно не виноват здесь. Файл не обрабатывается каким-либо образом перед загрузкой, если масштабирование не включено (и это не так). Что-то еще должно быть причиной вашей проблемы. Я предполагаю, что «теги» не являются частью данных EXIF ​​/ XMP изображения. Может быть, это хранится за пределами фактического файла в Windows. –

ответ

3

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

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

  2. Если ваш файл изображения хранится иначе, чем те, которые вы ожидаете, теги могут не извлекаться в зависимости от способа их извлечения.
    Например, JPG/JPEG Теги могут храниться различными способами (XMP beeing one). Для получения более подробной информации проверьте following link. Вы увидите, что есть другие способы хранения тегов (например, EXIF, Extended XMP, QVCI, FLIR).
    Чтобы получить эти теги, вам придется разбирать их в соответствии с тем, как они встроены в ваш файл изображения.
    Из кода на стороне сервера, который вы опубликовали, вы только просматриваете теги XMP. В зависимости от программного обеспечения, используемого для кодирования исходного изображения, метки могут храниться в альтернативном формате.

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

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

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

+0

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

+1

@AbdulAhad Я отредактировал свой ответ, чтобы освежить это. Вероятно, вы пытаетесь читать теги в формате, который не использовался для их хранения. Например, 'Windows machine' может хранить их в' XMP', но 'Adobe Photoshop Lightroom' может хранить их в' EXIF'. –

+1

На самом деле я понятия не имею о 'Adobe Photoshop Lightroom', но то, что вы сказали, может быть причиной. Я попробую. –

Смежные вопросы