#image #shopify #data-uri #cropit
#изображение #Shopify #data-uri #cropit
Вопрос:
Предыстория приведенной ниже проблемы:
Я использую плагин jQuery Cropit для создания изображения, которое я получаю в форме URL-адреса данных (пользователь загружает изображение, и Cropit позволяет им манипулировать им, когда пользователь доволен, Cropit экспортирует окончательное изображение).
Этот URL-адрес данных прикрепляется к продукту (это веб-сайт Shopify) через Shopify properties (аналогично тому, как вы прикрепили бы текст для продукта с гравировкой), а затем, когда заказ создан, у меня есть приложение, прослушивающее новые заказы, и я извлекаю URL-адрес данных из заказа.
В результате тестирования я могу подтвердить, что URL-адрес данных неверен / поврежден / поврежден на момент размещения заказа и не нарушается при транспортировке.
Оригинальный вопрос
У меня немного странная ситуация, и я не могу найти никаких похожих ситуаций в Интернете.
Мне отправляется изображение в формате URL-адреса данных (из Shopify, если это уместно, я написал частное приложение, и их webhook отправляет мне изображение)
Изображение находится в формате URL-адреса данных, который начинается с, в качестве примера,
data:image/png;base64,iVBORw0KGgoAAAANSU.....
Проблема, с которой я сталкиваюсь, заключается в том, что иногда (и это, возможно, менее чем в 10% случаев), когда я получаю изображение и пытаюсь его распечатать, в нем отсутствует нижняя часть изображения. В формате PDF изображение считается поврежденным, а в веб-браузере он просто видит нижнюю часть изображения прозрачной, однако многого не хватает.
Вот как это выглядит в элементе проверки в Google Chrome при наведении курсора мыши на URL-адрес изображения (изображение было удалено для анонимности)
Мой вопрос в том, кто-нибудь знает, почему?
Мы не можем найти корреляцию с браузером или типом устройства. И я не уверен, связано ли это с тем, что часть URL-адреса данных каким-то образом отсутствует (возможно, ограничение на количество символов, потому что это действительно длинная строка!) или дело в типе изображения. Возможно, что-то пошло не так в процессе загрузки?
Кто-нибудь может пролить свет? Это такая странная проблема, я даже не уверен, что искать в Google!
И просто для подтверждения, изображение обязательно должно быть отправлено в этом формате по целому ряду причин, в основном из-за ограничений Shopify, поэтому я не могу отправить изображение в формате файла.
Комментарии:
1. Что вы видите на вкладке сети браузера, когда это происходит — получаете ли вы код ответа 200?
2. Да, нет сообщения об ошибке или чего-либо еще, и технически изображение отображается, поэтому код ответа равен 200. В нижней части изображения просто есть прозрачные квадраты.
3. Хм, хорошо. Кроме того,
dataamp;colon;
кажется странной конструкцией — можно ли это сделать неэкранированным, вот так:data:
?4. Интересно, делает ли браузер его прозрачным, потому что последний бит по какой-то причине искажается. Может быть, написать тестовый скрипт, который извлекает изображение сто раз, чтобы проверить, не повреждено ли какое-либо из них?
5. @halfer да, извините, это данные: — я не заметил, что это было изменено, я думаю, когда я копировал и вставлял материал. Я действительно думал, что это может быть повреждение, например, ненадежное подключение к Интернету или просто что-то пошло не так при передаче, но это происходит довольно часто. Я не знаю, насколько вероятно повреждение URL-адресов данных?