我需要將id ='area'的畫布數據作爲圖像保存到我的服務器的文件夾/使用javascript上傳。我試圖用window.open(canvas.toDataURL(「image/png」));在瀏覽器中顯示圖像。但瀏覽器會顯示空白屏幕將HTML 5鏡像圖像保存到服務器
-2
A
回答
1
可以使用toDataURL()
注意:本toDataURL()方法需要繪製在畫布上的任何圖片作爲代碼執行它被託管的Web服務器上相同的域。如果不符合此條件,則會引發SECURITY_ERR異常。
例如
<body>
<canvas id="myCanvas" width="578" height="200" style="display:none;"></canvas>
<img id="canvasImg" style="border:1px solid #9C9898;" alt="Right click to save me!">
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
// draw cloud
context.beginPath();
context.moveTo(170, 80);
context.bezierCurveTo(130, 100, 130, 150, 230, 150);
context.bezierCurveTo(250, 180, 320, 180, 340, 150);
context.bezierCurveTo(420, 150, 420, 120, 390, 100);
context.bezierCurveTo(430, 40, 370, 30, 340, 50);
context.bezierCurveTo(320, 5, 250, 20, 250, 50);
context.bezierCurveTo(200, 5, 150, 20, 170, 80);
context.closePath();
context.lineWidth = 5;
context.fillStyle = '#8ED6FF';
context.fill();
context.strokeStyle = '#0000ff';
context.stroke();
// save canvas image as data url (png format by default)
var dataURL = canvas.toDataURL();
// set canvasImg image src to dataURL
// so it can be saved as an image
document.getElementById('canvasImg').src = dataURL;
</script>
</body>
0
我其實在我的早期項目解決了這個問題。
而用戶/服務器之間的回合安全和這種方法繞過它,因爲我在這裏的另一個答案中提到可能的問題。
這可能是一個笨拙的方式來做到這一點,但至少它的工作原理,並沒有我不允許發佈代碼基於一些合法的東西馬寶。
客戶端:
你可以做的是讓用戶單擊一個按鈕來激活一個異步回發,然後纔回發是跑在您選擇的格式轉換你的畫布的內容爲圖像,並然後將其轉換爲base64字符串,並將其放置在隱藏文本框中,並將文本框的內容發送到服務器,就像您使用常規註冊表單一樣。
在服務器:
轉換你的新獲得性的base64字符串返回到相同格式的圖片,你創造了它在客戶端,並將其保存。
相關問題
- 1. PHP將圖像保存到服務器?
- 2. 鏡像服務器
- 3. 從URL保存圖像到服務器
- 4. 將圖像上傳到服務器並將url保存到服務器
- 5. 保存圖像的服務器
- 6. 在將圖像保存到服務器之前檢查圖像大小
- 7. 將圖像從網絡服務器保存到手機圖像滑塊
- 8. HTML5/Canvas - 將Base64圖像保存到服務器(替換當前圖像)
- 9. 使用HTML將圖像保存到硬盤5
- 10. 使用ColdFusion將上傳的圖像保存到服務器
- 11. 將畫布圖像保存到僅使用Javascript的服務器
- 12. 如何將圖像保存到我的服務器
- 13. 如何在Android上將圖像保存/上傳到服務器?
- 14. 將圖像保存到網絡服務器(字節數組)
- 15. 使用php將圖像保存到服務器
- 16. 將文字保存到服務器中的圖像
- 17. 如何將圖像從canvas標籤保存到php服務器?
- 18. 將畫布圖像保存到服務器ASP.NET mvc
- 19. 將畫布圖像保存到IIS服務器(MVC框架)
- 20. 使用java將圖像保存到SFTP服務器
- 21. PHP - 將上傳的圖像保存到服務器
- 22. 如何將網頁中的圖像保存到服務器?
- 23. 使用JPGEncoder將多個圖像從Flash保存到服務器?
- 24. 流星將圖像數據保存到服務器集合
- 25. 如何將加密的圖像保存到sql服務器?
- 26. 將圖像保存到數據庫並從服務器加載
- 27. 如何將圖像上載到服務器並保存路徑
- 28. 如何將圖像保存到Web服務器的JavaScript服務器?
- 29. NonRepeatableRequestException在發送鏡像到服務器
- 30. 從服務器上的圖像URL保存圖像
不夠清楚。如果沒有明確說明您採取了哪些步驟來解決問題以及您遇到什麼問題的具體細節,請不要提問。 SO不是爲了解決你的問題而來,我們來幫忙。 –
請嘗試permadi.com/blog/2010/10/html5-saving-canvas-image-data-using-php-and-ajax/ –