如何使用类似Instagram的过滤器将远程上传功能添加到Web应用程序以允许在Facebook上共享?

时间:2013-09-24 22:55:15

标签: jquery facebook facebook-sdk-3.0

我发现了这个关于使用类似instagram的过滤器构建Web应用程序的精彩教程: http://tutorialzine.com/2013/02/enhancing-the-instragram-filter-app/

该应用程序允许您将图片从计算机拖到浏览器中,并对其应用类似Instagram的过滤器。然后,您可以将图像下载到您的计算机。

我想弄清楚如何添加在Facebook上分享照片的功能。没有远程上传可以做到吗?

我有一个使用此脚本的想法:

<a class="share" onclick="window.open('http://www.facebook.com/sharer.php?s=100&amp;p[title]=Title_Goes_Here&amp;p[summary]=Copy_Goes_Here&amp;p[url]=http://www.website.com&amp;&amp;p[images][0]=http://www.webste.com/image_url.jpg', 'newwindow', 'width=555, height=315'); return false;"></a>

是否可以将“http://www.webste.com/image_url.jpg”部分替换为画布生成的临时图像?

非常感谢!

1 个答案:

答案 0 :(得分:1)

我认为这是不可能的。

直接在URL中传递图像的唯一方法是创建数据URI。虽然canvas确实有一个toDataURL()方法来获取图像的这种表示,但share.php很可能不支持传递它并期望一个普通的URL。即使它确实如此,window.open的这么长的URL可能会破坏某些浏览器,至少是旧的IE版本似乎有大约2kB的URL长度限制。

您可以做的一件事是将图像直接上传到Facebook,方法是让用户使用相应的权限登录Facebook,然后发送到https://graph.facebook.com/me/photos,但我没有尝试过Javascript