2012-04-27 27 views
-1

這可能是一個愚蠢的問題..但我決定給它一個嘗試在這裏...發送客戶端網頁中的畫布的HTML代碼到服務器?

我使用AJAX做客戶端和服務器(蟒蛇/ Django的)之間的相互作用開發一個Web應用程序。

現在在客戶端頁面中,有一個包含動態生成圖像的畫布;我想獲取這個圖像並將此圖像發送到服務器,但是由於違反了畫布安全規則(客戶端和服務器必須位於同一個域中),我無法使用Canvas.toDataURL()。

所以我只是想知道是否有可能獲取canvas元素並將其HTML發送回服務器,然後讓服務器處理它並提取其圖像數據?

感謝您的任何建議!

回答

0

如果<canvas>日期是通過使用來自不同來源的圖像(CORS問題)來處理的唯一問題。

只是

  • 使用toDataURL()來獲取圖像數據

  • 後使用正常的AJAX

  • 剝去數據URL前綴

  • 這個數據到服務器base64解碼數據

  • 現在你有二進制格式

  • 什麼就做什麼,你希望用圖像

的base64 + dataURL解碼圖像數據。例如:https://github.com/miohtama/Krusovice/blob/master/bin/create_bg_thumbnails.py#L62

+0

我知道這個工作流程。但正如問題中提到的,我正在尋找一種方法來解決這個畫布安全問題(CORS問題),這就是爲什麼我想知道是否可以將HTML中的整個Canvas元素髮送到服務器並讓服務器提取圖像數據。 – Simon 2012-04-28 23:17:09

+0

當然不是,因爲那樣就不會有CORS了...... – 2012-05-02 18:13:06

相關問題