我正在尝试使用PHP REST API (https://github.com/dersam/RTPHPLib)从RT 4.2.8票证下载附件。我已经使用了工单附件内容和工单附件。它们返回某种类型的字符串或数组,如下所示(基本上它输出文件内容):
Array
(
[%PDF-1.4
%����
] =>
[10 0 obj
<>
endobj
] =>
[15 0 obj
<>/Filter/FlateDecode/ID[<4DCDA9C01A05A34BB7A89B62345FD905><4DCDA9C01A05A34BB7A89B62345FD905>]/Index[10 7]/Info 9 0 R/Length 36/Prev 805889/Root 11 0 R/Size 17/Type/XRef/W[1 2 0]>>stream
] =>
[h�bbd`b`�db`�eb`����^��"��
] =>
[endstream
endobj
startxref
] =>
[0
] =>
[%%EOF
] =>
[16 0 obj
<>stream
] =>
[h�b```f``����33 �������L f(f`�ca```h�o�1���iF �`�] =>
[O
] =>
[endstream
endobj
11 0 obj
<>
endobj
12 0 obj
<>>>/Rotate 270/Type/Page>>
endobj
我曾尝试使用php fwrite/ file _put_content将其写入到一个临时文件中,然后下载它,但它无法打开。
如何在本地下载工单附件?我希望这是动态的(不管文件扩展名是什么)
发布于 2017-03-29 23:00:24
对于二进制内容,需要额外调用getAttachmentContent
。这将返回原始编码的文件内容。
该问题源于RT在其响应中使用了UTF-8,它也对Content
部分进行了编码。不幸的是,RT没有存储附件的原始编码,导致不可靠的Content
部分,使得RTPHPLib无法智能地猜测。
有关这方面的一些最新讨论,请参阅https://github.com/dersam/RTPHPLib/issues/66。
https://stackoverflow.com/questions/42064875
复制相似问题