Похоже , проблему решил - всё это происходит, если картинку загружать неправильного формата (который не поддерживает твиттер).
Ошибка " нужен файл для загрузки на сервер" всё равно показывается, но загрузка происходит )
Ну почему сразу "плохая"? ) Просто можно записать короче, вместо
http(?:s|)
написать
https?
диапазон с жадным алгоритмом в конце регулярки совсем лишний, он лишь добавляет нагрузку. Кстати из за квантора "1 и более" регулярка не сработает, если после слеша нет ни одного символа