2012-06-18 142 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