注意:存在最小可行范例here,文字从下方复制。
我们无法可靠地将图片上传到Twitter。
Twitter有uploading chunked images的REST API端点。我们正在使用OAuth.io(documentation here)与Twitter进行互动。我们将图像上传为base64字符串。
如果我们在一个块中上传图像,那么图像上传到Twitter没有任何问题。但是,如果我们将同一图像拆分为多个块,那么Twitter 可以:
FINALIZE
命令就通知我们Segments do not add up to provided total file size
; 错误行为因使用的单个文件和上传的块大小而异。但是,我们无法确定任何可行的规则来保证成功,某些文件似乎比其他文件更容易出错。
如果无法反省OAuth.io正在POST的内容或Twitter正在接收的内容,我们无法确定问题可能发生的位置。
演示此行为的代码很长(约200行JS,不包括base64图像或HTML)。我已经发布了一个完整的工作示例here供人们进行交互。示例中的代码可用on Github。