我正在创建一个客户票务门户,它使用OTRS作为后端。门户网站允许客户创建票证并上传附件。
我已经使用PHP和nuSOAP编写了一个Web服务,它可以在相应的OTRS表(ticket,ticket_history,article,article_attachment等)中插入故障单详细信息和附件详细信息。 但由于我正在使用webservice,我将base64_encode附件,然后将其作为参数发送到我的webservice方法。当我在OTRS端对这个内容进行base64_decode时,我无法为我的生活做好准备,为什么它会被插入到数据库中。所以我插入内容而不解码它。
在我的门户页面上,当我点击下载附件时,我会在显示附件之前对内容进行base64_decode。
这一切都适用于客户门户网站,但当我尝试从OTRS中的代理商票据缩放页面下载附件时,它表示不支持文件格式。这是可以理解的,因为内容在下载之前已经过编码和解码。
解决此问题的最佳方法是什么?或者,在下载附件之前,如何让OTRS base64_decode内容?
答案 0 :(得分:0)
你写道:'当我在OTRS一侧对这个内容进行base64_decode编码时,我不能为我的生活做好准备,为什么它会被插入到数据库中。'
请提供正在发送到服务器的数据的转储(mod dump io或debug dump)。您还可以向服务器添加打印例程或使用wireshark。
请提供准确的输出,是否为base64编码两次?
将内容上传到otrs时通常会发送什么内容?这是一个哑剧上传。你试过像curl这样的测试客户端吗?你打电话到底是什么网址?我使用lwp perl的表单数据编码将数据上传到otrs。
请提供详细信息,以便我们对此进行诊断。 谢谢, 麦克