我开发了一个逻辑应用程序,它应该从远程位置下载文件并将它们存储在 Share Point 中。
所有文件均为 png 或 gif 文件。
在共享点连接器 - 上传文件上,我使用
binary(body('DOWNLOAD'))
作为输入。但是,Sharepoint 上的图像已损坏。
更深入地观察,Logic App 尝试将图像解析为 UTF-8 字符串,这会破坏图像。
查看十六进制级别,png 看起来有所不同。
test1x1.bad.png
是Sharepoint的结果,test1x1.png
是原始结果。
$ xxd test1x1.bad.png | head -n 3
00000000: efbf bd50 4e47 0d0a 1a0a 0000 000d 4948 ...PNG........IH
00000010: 4452 0000 00ef bfbd 0000 00ef bfbd 0803 DR..............
00000020: 0000 00ef bfbd efbf bdef bfbd efbf bd00 ................
$ xxd test1x1.png | head -n 3
00000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452 .PNG........IHDR
00000010: 0000 0080 0000 0080 0803 0000 00f4 e091 ................
00000020: f900 0002 7350 4c54 45ff ffff 3333 3333 ....sPLTE...3333
如何避免逻辑应用将正文解析为 UTF-8 字符串?
我也尝试了
body('DOWNLOAD')
和base64ToBinary(body('DOWNLOAD')['$content'])
,但没有什么区别。 body('DOWNLOAD')['$content']
返回图像的base64值。
body('DOWNLOAD')
应该工作得很好。证明:
从 https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png -
下载 Google 徽标将其保存到 SharePoint:
结果: