我制作了一个使用 canvas 元素的基本 HTML5/JS 漫画创作工具。
我希望用户能够通过 Facebook API 上传他们的漫画。
我不相信 Facebook 允许从 canvas.toDataURI() 方法以 base64 字符串的形式发布图像,并且不想使用我自己的服务器来转换这些图像并临时存储它们。
解决这个问题的最佳方法是什么?我想知道的可能性:将画布转换为 blob?通过网络服务存储 blob(如果是,建议?) 将 blob 直接上传到 Facebook?(那可能吗?)
我制作了一个使用 canvas 元素的基本 HTML5/JS 漫画创作工具。
我希望用户能够通过 Facebook API 上传他们的漫画。
我不相信 Facebook 允许从 canvas.toDataURI() 方法以 base64 字符串的形式发布图像,并且不想使用我自己的服务器来转换这些图像并临时存储它们。
解决这个问题的最佳方法是什么?我想知道的可能性:将画布转换为 blob?通过网络服务存储 blob(如果是,建议?) 将 blob 直接上传到 Facebook?(那可能吗?)
我不明白为什么不能进行“正常”上传。PROFILE_ID/photos您可以通过发布到,使用sourcetype 参数为用户创建新照片multipart/form-data。
所以我要尝试的第一件事是将画布对象中的图片信息转换为“正常”形式(以正确的格式将其写入输入元素(?)),然后将其发送到 Facebook。如果这一步成功,我会看看 jQuery 或其他一些库的form.serialize方法是否可以构建类型的请求multipart/form-data。如果这也是可能的,那么以该格式获取数据并使用 FB.api 发布它应该没有进一步的问题(尽管您可能希望告诉您的用户耐心等待,因为这可能需要一段时间)。
不能确定这是否可行,但我会试一试。
Facebook 与 Heroku 合作免费托管应用程序,您可以将其用作临时服务器。