2012-06-18 81 views
1

我制作了一个基本的HTML5/JS漫画创作工具,它使用了canvas元素。HTML5 Canvas to Facebook

我希望用户能够通过Facebook的API来上传自己的漫画。

我不相信Facebook允许从canvas.toDataURI()方法以base64字符串的形式发布图像,并且不希望使用我自己的服务器将这些图像&临时存储它们。

这是什么最好的方法呢?我想知道的可能性:将画布转换为blob?通过网络服务存储blob(如果有,建议?)直接上传blob到Facebook? (这可能吗?)

+0

你可以做到这一点,但它很毛茸茸。看看:http://stackoverflow.com/questions/5292689/sending-images-from-canvas-elements-using-ajax-and-php-files和http://stackoverflow.com/questions/10215425/upload -photo-with-facebook-graph-api-and-javascript-convert-canvas-image-to-mul – Art

回答

1

我不明白为什么这应该不可能做一个“正常”上传。您可以通过发布到PROFILE_ID/photos来创建用户的新照片,source参数的类型为multipart/form-data

我想尝试这样的第一件事就是让从画布对象的影像信息成为一个“正常”的形式(它写入一个input元素在正确的格式(?)),以及发送该到Facebook。如果这一步成功,我会看看如果jQuery或其他库的方法form.serialize可以建立multipart/form-data类型的请求。如果这也是可能的话,那么以这种格式获取数据并使用FB.api发布数据应该不会有任何问题(尽管您可能想告诉用户需要耐心,因为这可能需要一段时间)。

不能肯定地告诉如果这会工作,但我想给它一个尝试。

0

Facebook的合作伙伴Heroku的免费应用程序托管,你可以使用它作为临时服务器。

+0

谢谢你的建议。我可能会走上这条路。但是,这个问题的主要目的是确定是否有可能在浏览器中实现。 – Adam