2010-09-10 42 views
7

Tôi cần tạo thành phần bằng canvas html5 cho hình ảnh mà người dùng có thể vẽ trên đó và trực tiếp (thông qua một nút lưu) tải lên phiên bản tùy chỉnh trên máy chủ.HTML5 lưu canvas vào tệp

Tôi có thể sử dụng canvas html cho nó không? Bất kỳ đề xuất nào?

thx trước

Trả lời

6

Bạn có thể lấy hình ảnh dưới dạng dữ liệu-url như thế này:

var dataUrl = document.getElementById('your-canvas').toDataURL(); 

Sau đó bạn có thể gửi thông điệp này (string rất dài) đến máy chủ và lưu nó vào một tập tin sau giải mã nó (nó được mã hóa trong base64).

EDIT: Hãy nhớ gửi điều này qua POST, như được đề xuất trong nhận xét. GET có một số giới hạn độ dài trong các trình duyệt khác nhau, do đó có khả năng vượt quá các giới hạn đó với lượng dữ liệu khổng lồ như vậy.

+4

Hãy nhớ sử dụng 'POST' làm phương pháp Ajax. GET có thể bị phá vỡ do kích thước của nó. –

+0

Cảm ơn sự bổ sung của bạn! – jwueller

+0

Phương pháp này không hoạt động với Chrome. –