Я создаю портал продажи билетов для клиентов, который использует OTRS в качестве серверной части. Портал позволяет клиентам создавать заявки, а также загружать вложения.
Я написал веб-сервис с использованием PHP и nuSOAP, который выполняет работу по вставке сведений о билетах и вложениях в соответствующие таблицы OTRS (ticket, ticket_history, article, article_attachment и т. д.). Но так как я использую веб-сервис, я base64_encode вложение, прежде чем отправить его в качестве параметра для моего метода веб-сервиса. И когда я base64_decode этот контент на стороне OTRS, я всю жизнь не могу понять, почему он не вставляется в базу данных. Поэтому я вставляю содержимое без его декодирования.
И на моей странице портала, когда я нажимаю, чтобы загрузить вложение, я base64_decode содержимое перед отображением вложения.
Все это прекрасно работает для клиентского портала, но когда я пытаюсь загрузить вложение со страницы увеличения тикета агента в OTRS, он говорит, что формат файла не поддерживается. Что понятно, потому что контент кодируется и должен быть декодирован перед загрузкой.
Каков наилучший способ устранения этой проблемы? Или как я могу заставить OTRS base64_decode содержимое перед загрузкой вложения?