2015-02-08 2 views
0

Я пытаюсь найти способ использовать функцию «идентифицировать» от imagemagick без сохранения файла изображения в app-root/data. В основном я хочу проверить файл изображения перед тем, как сохранить файл в месте назначения. Если сохраняются в данном приложении-корневой /, я могу легко просто сделать это:Openshift, как проверить файл перед сохранением в app-root/data

(temp, tempError) = (subprocess.Popen(['identify', '../data/' + filename + extension], stdout=subprocess.PIPE)).communicate() 

Но для этого потребуется изображение, которое будет загружено, прежде чем идентифицировать. Любые способы сделать это?

+0

Я боюсь, что этот вопрос кажется мне несколько расплывчато. Вы не указали форматы изображений, которые вас интересуют, и то, что составляет проверку. PNG и, я полагаю, многие другие форматы включают информацию, которую 'ident' использует в начале файла изображения в заголовке. Таким образом, одно решение может повлечь захват достаточного количества файла для получения заголовка и использования 'ident' в этом фрагменте. Я бы не назвал эту проверку, так как можно было легко обмануть такой тест поддельным заголовком. –

ответ

0

Сначала вы должны сохранить файл в каталоге/tmp, а затем проверить его, и если он пройдет, переместите его в каталог ~/app-root/data.

Вы можете проверить это Filesystem Обзор на Developer Portal для получения дополнительной информации: https://developers.openshift.com/en/managing-filesystem.html

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