Имя: Пароль:
1C
1С v8
Проверка прикрепленных файлов (изображений) к номенклатуре
0 GrowBell
 
20.10.22
00:23
Здравствуйте!

У меня не тривиальный вопрос.
В базе Управление торговлей 11.5 у элементов справочника "Номенклатура" существуют присоединенные файлы изображений. Эти файлы хранятся в томах на диске.
При выгрузке товаров мз базы торговли через модуль Битрикс в интернет-магазин в лог-файле появляются сообщения, что некоторые файлы изображений не удалось записать на сервере интернет-магазина.
Всё бы ничего не обмен не завершается из-за этого.
Я взял один файл изображения и попробовал его открыть его любым просмотрщиком картинок, но получил ошибку, что файл не является картинкой, хотя у этого файла расширение JPG.
Скорее всего такая ситуация с картинками получилась из-за того, что их грузили вместе с карточками товаров из каких-то внешних файлов.
Я могу написать обработку, которая соберет таблицу значений с картинками, но как проверить картинки битые они или нет?
1 OldCondom
 
20.10.22
00:53
Попробуй с битым файлом какой-нибудь метод или свойство. Вдруг в ошибку вывалится.
    Карт = Новый Картинка("D:\1.jpg");
    Попытка
        Х = Карт.Высота()
    Исключение
        Сообщить("Битый");    
    КонецПопытки;

Без 1С можно в цикле python Обойти весь том и на каждую картинку
import cv2
image = cv2.imread('путь к картинке')
try:
    dummy = image.shape
except:
    print("corrupted.")
2 OldCondom
 
20.10.22
01:00
Попробовал, битый jpeg валится в ошибку на Карт.Преобразовать(ФорматКартинки.PNG). Не битый проходит.
3 GrowBell
 
21.10.22
09:54
(1) Спасибо! Ваш метод помог.