Проверка фото по метадате на Tilda для promogram.pro

promogram.pro
Проект promogram.pro

Клиент обратился ко мне с особым требованием для своего веб-сайта на Tilda. Запрос заключался в том, чтобы убрать стандартные кнопки iOS при загрузке файлов в блоке BF502N, оставив только опцию «Снять фото или видео», чтобы промоутеры не могли редактировать фотографии. Также нужно было заменить текст в кнопке c "Загрузить файл" на "Сохранить настройку".

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

Решение: Проверка временной метки на клиентской стороне

Реализованное решение включает следующие шаги:

Кастомизация кнопки загрузки

С помощью JavaScript, размещенного в блоке Tilda t123, название кнопки «Загрузить файл» во всплывающем окне динамически заменяется на «Сохранить настройку», чтобы лучше отражать предполагаемое действие пользователя.

Ограничение типа ввода и инициирование камеры

Другой фрагмент JavaScript динамически модифицирует элемент ввода файла в виджете загрузки. Он устанавливает атрибут accept в значение image/*, чтобы фильтровать только файлы изображений, и, что крайне важно, добавляет атрибут capture со значением environment. Этот атрибут на мобильных устройствах напрямую предлагает пользователю открыть приложение камеры устройства при нажатии на кнопку загрузки.

Проверка метаданных в режиме реального времени

Чтобы убедиться, что загруженная фотография действительно является свежим снимком, был реализован скрипт, использующий библиотеку exif-js. После выбора изображения:

  • Скрипт считывает EXIF-метаданные загруженного файла для извлечения тегов «DateTimeOriginal» или «DateTime», которые представляют дату и время съемки фотографии.
  • Извлеченная временная метка сравнивается с текущим временем.
  • Если разница между временной меткой фотографии и текущим временем превышает небольшой порог (просьба заказчика сделать в задержку 5 минут), отображается предупреждающее сообщение с просьбой загрузить недавно сделанную фотографию, и поле выбора файла сбрасывается.
  • Если временная метка находится в допустимом диапазоне, то дальнейшая отправка формы (активируемая кнопкой «Отправить») выполняется в соответствии с настройками блока BF502N, обеспечивая корректную передачу данных на Яндекс Диск, в CRM Tilda, Telegram и Nodul.
  • Если метаданные изображения не содержат информации о времени съемки, пользователю предлагается сделать новый снимок.

Результат

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

Социальные сети & мессенджеры

контакты

контакты

предложения

предложения

Дизайн веб-интерфейсов с Shadcn/UI

Создаю дизайн для Next.js с TailwindCSS и Shadcn/UI компонентами. Упор на превосходный пользовательский опыт, легкий перенос дизайна в код, простую замену стилей и наглядности для заказчика.

от 100 usd

Создание сайтов и веб-приложений на Next.js

Разработка современных сайтов и веб-приложений на Next.js. Написание читаемого и легко используемого кода, служащим надежным фундаментом при дальнейшем развитии вашего бизнеса и расширении услуг, товаров и сервисов

от 100 usd

SEO-оптимизация для сайтов на Next.js

Обеспечение высокой скорости загрузки, настройку метатегов и создание XML-карты сайта. Сайт тестируется в PageSpeed Insights, GTmetrix и других инструментах. Достигаются метрики выше 80. Обеспечивается высокая производительность, доступность и базовая видимость в поиске.

от 20 usd

Кастомные скрипты для Tilda

Разработка индивидуальных скриптов для сайтов на Tilda, включая блок T123. Создание пользовательских решений для Tilda, позволяющих реализовать функции, недоступные в стандартных инструментах, включая квизы, формы, таймеры, фильтры, слайдеры, модальные окна, калькуляторы и интеграцию с API (например, Google Sheets), а также любые дополнительные улучшения по вашим задачам. Улучшайте функционал вашего сайта быстро и профессионально.

от 20 usd

Индивидуальная разработка высокопроизводительных лендингов на Next.js, React, TypeScript, Tailwind CSS от опытного соло-разработчика

Как опытный фрилансер и соло-разработчик, я предлагаю профессиональное создание современных и эффективных лендингов с использованием передовых технологий: Next.js для серверного рендеринга (SSR) и SEO-оптимизации, React для создания интерактивных веб-приложений и динамичного контента, TypeScript для обеспечения надежности кода и улучшенной поддержки, и Tailwind CSS для быстрой разработки стилей и создания адаптивного дизайна. Я специализируюсь на разработке продающих одностраничных сайтов, нацеленных на максимальную конверсию и эффективное привлечение потенциальных клиентов (лидов). Каждый разработанный мной лендинг отличается привлекательным современным дизайном, высокой скоростью загрузки, полной адаптивностью под любые мобильные устройства (полностью респонсивный дизайн), комплексной оптимизацией для поисковых систем (SEO), что способствует улучшению позиций сайта в поисковой выдаче Google и других системах, а также интуитивно понятным пользовательским интерфейсом (UI/UX), обеспечивающим максимальное вовлечение посетителей.

от 100 usd

Разработка интернет-магазинов на Next.js, React, TypeScript, TailwindCSS

Предлагаю профессиональную разработку современных и функциональных интернет-магазинов с использованием передовых технологий: Next.js для высокой производительности и SEO-оптимизации, React для создания интерактивного пользовательского опыта и динамического контента, TypeScript для надежности кода и удобства поддержки, и Tailwind CSS для быстрой разработки стилей и адаптивного дизайна. Как опытный фрилансер и соло-разработчик, специализируюсь на создании эффективных платформ для онлайн-продаж. Разработанные мной интернет-магазины обладают привлекательным дизайном, быстрой загрузкой страниц, полной адаптивностью под мобильные устройства и планшеты, а также интуитивно понятным интерфейсом для удобства покупателей. Они также оптимизированы для поисковых систем, что способствует увеличению органического трафика и росту продаж.

от 500 usd

Профессиональная разработка веб-приложений полного цикла на стеке Next.js, React, TypeScript

Я — опытный соло-разработчик, предлагающий полный спектр услуг по созданию современных веб-приложений. Мой основной стек технологий включает Next.js, React и TypeScript, что позволяет мне разрабатывать быстрые, масштабируемые и надежные решения с акцентом на производительность и удобство использования. В дополнение к этому, я владею технологиями TailwindCSS для стилизации, PostgreSQL для работы с базами данных и Supabase как современной backend-платформой. Если вам нужно качественное веб-приложение, разработанное с вниманием к деталям на каждом этапе, от концепции до запуска, буду рад сотрудничеству.

от 500 usd