Собственно проблема в теме. Есть некий сервис (на Delphi 2010, Indy 10), который берет из базы картинку, накладывает водяной знак и выкладывает это на FTP. Отправка на FTP осуществляется методом Put. Но некоторые файлы (без видимой зависимости) приходят на FTP испорченными. Исходный файл нормальный, я проверял. А на FTP после отправки лежит файл на 1-2 байта меньше по размеру и с частично искаженной картинкой (формат jpg). Другие файлы из базы, отправляемые следом приходят нормально. И даже эти же самые могут прийти правильно, если запустить систему на другом компьютере. Есть у кого-нибудь предположения, от чего такое может быть?
Здравствуйте, ascold, Вы писали:
A>Собственно проблема в теме. Есть некий сервис (на Delphi 2010, Indy 10), который берет из базы картинку, накладывает водяной знак и выкладывает это на FTP. Отправка на FTP осуществляется методом Put. Но некоторые файлы (без видимой зависимости) приходят на FTP испорченными. Исходный файл нормальный, я проверял. А на FTP после отправки лежит файл на 1-2 байта меньше по размеру и с частично искаженной картинкой (формат jpg). Другие файлы из базы, отправляемые следом приходят нормально. И даже эти же самые могут прийти правильно, если запустить систему на другом компьютере. Есть у кого-нибудь предположения, от чего такое может быть?
Возможно баги в Инди, говорят она не слишком прямая.
Попробуйте реализовать функцию отправки через библиотеку Synapse (там все очень просто) или ICS (сложнее т.к. использует
асинхронные сокеты). Если и там будут проблемы — возможно картинку портите вы сами.
Обе эти библиотеки очень плотно использую в своих проектах и пока проблем не замечал.