Выгрузка файлов RAW с камеры на веб-сервер. Проблема с типом файла. Есть обходной путь? - PullRequest
0 голосов
/ 17 июня 2020

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

Я использую ExifTool для извлечения метаданных . Я использую ImageMagick для преобразования файла в .jpg.

Я работаю с 4 типами файлов, начиная с CRW, RAF, ARW и NEF.

Однако загрузка различных файлов RAW в браузер приводит к определению различных типов файлов при загрузке. Это было проблемой для двух разных типов RAW:

CRW (Canon): $_FILES['type']: 'image/x-canon-crw' Вело себя должным образом. Удалось извлечь метаданные и сохранить файл как .jpg. Это единственное, что распознал браузер. RAF (Fujifilm): $_FILES['type']: 'application/octet-stream' Вёл себя как положено. Удалось извлечь метаданные и сохранить файл как .jpg. ARW (Sony): $_FILES['type']: 'application/octet-stream' Удалось извлечь метаданные, но ImageMagick не смог распознать файл и сохранить его как .jpg. ImageMagik отвечает

"magick: Unknown field with tag 50341 (0xc4a5) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/1037."

Итак, кажется, ImageMagick обрабатывает его как TIFF? NEF (Nikon): $_FILES['type']: 'application/octet-stream' смог извлечь метаданные, но image Magick неожиданно сохранял jpg с эскизом, а не загруженным изображением (я не знаю почему!) ImageMagick отвечает

"magick: Unknown field with tag 36867 (0x9003) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/1037."

Похоже, это еще одна проблема с TIFF. Понятия не имею, почему?

Код, управляющий преобразованием ImageMagick, не меняется между типами RAW.

Я могу работать с файлами Canon и Fujifilm, но не с Sony или Nikon, и я не могу понять, почему. Как исправить эту проблему с TIFF?

Есть ли у кого-нибудь еще опыт работы с этим?

...