2017-09-25 78 views
3

信使发送API给我回应 (#546)您试图附加的文件的类型是不允许的。请以不同的格式再次尝试。错误代码:546,error_subcode:154502如何通过Facebook Messenger Send API发送在Amazon S3上托管的图像?

但是,如果我在Google Cloud上托管相同的确切图像而不是Amazon S3,则图像发送正常。

我链接到AWS图像: https://s3.amazonaws.com/paloma-staging-public/files/conversation-step-56-80925.gif

我链接到谷歌云图像: https://storage.googleapis.com/callparty/thumbsup.gif

有什么特殊的原因,对存储在S3图像的链接不会为工作图片附件,但链接到谷歌云上存储的图像将工作?

+1

当我单击AWS链接时,我的浏览器下载图像。当我点击Google链接时,它会在浏览器中打开。所以必须有一些区别 – WizKid

回答

3

答案是,对于AWS链接文件的ContentType未设置。

在上传到S3时,我必须适当地手动设置文件的ContentType(“image/gif”,“image/png”等),并且谷歌云存储必须已经自动设置。

这就是为什么S3链接导致自动下载,并且谷歌云链接在浏览器中显示图像。

+0

还必须有另一个原因,Facebook Messenger将不会提供图像。我在S3上设置了ContentType,但仍然是Facebook Messenger(在手机上)不会在结构化消息中提供图像。但是,在桌面浏览器版本上,它工作正常。 – robjeiter

+0

谢谢,像魅力一样工作 – kaxi1993

相关问题