Tôi đã cố gắng triển khai lại trình tải lên hình ảnh HTML5 giống như trên trang web Mozilla Hacks , nhưng nó hoạt động với các trình duyệt WebKit. Một phần của nhiệm vụ là trích xuất một tệp hình ảnh từ canvas
đối tượng và nối nó vào đối tượng FormData để tải lên.
Vấn đề là trong khi canvas
có toDataURL
chức năng trả về một đại diện của tệp hình ảnh, đối tượng FormData chỉ chấp nhận các đối tượng Tệp hoặc Blob từ API tệp .
Giải pháp Mozilla đã sử dụng chức năng chỉ dành cho Firefox sau đây trên canvas
:
var file = canvas.mozGetAsFile("foo.png");
... không khả dụng trên các trình duyệt WebKit. Giải pháp tốt nhất tôi có thể nghĩ đến là tìm cách chuyển đổi URI dữ liệu thành đối tượng Tệp, mà tôi nghĩ có thể là một phần của API tệp, nhưng tôi không thể tìm thấy điều gì đó để làm điều đó.
Có thể không? Nếu không, có sự thay thế nào không?
Cảm ơn.