iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs + 9AAAABGdBTUEAALGPC / xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV + IAAAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1JREFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jqch9 // q1uH4TLzw4d6 + ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0vr4MkhoXe0rZigAAAABJRU5ErkJggg ==
上述数据是data:image/png;base64
格式的图片。
是否可以更新推特个人资料图片而不提供图像路径(如http://....com),而是通过提供上述格式的图像数据?
答案 0 :(得分:1)
是的,它已记录在案https://dev.twitter.com/rest/reference/post/account/update_profile_image和https://dev.twitter.com/rest/reference/post/account/update_profile_background_image
通过base64_encode(file_get_contents($image_path))))
发送内容会产生结果。确保您的文件<700kb且小于&lt; 1000px。
答案 1 :(得分:0)
快速浏览一下Twitter文档,特别是关于Updating a User's Profile Image的部分,它没有明确说明它是否会接受图像的Base64编码字符串。
话虽如此,我认为它不会(随意测试它并查看它是否存在,但是,作为一项规则,如果API想要一个URL作为输入,它只会将URL识别为有效)。
当然,您可以在服务器上创建一个PHP脚本,使用PHP函数imagecreatefromstring()
[PHP Docs],然后使用该URI作为Twitter API的值。