Преобразуйте URI данных в файл, а затем добавьте в FormData

Я пытался повторно реализовать программу загрузки изображений HTML5, подобную той на сайте Mozilla Hacks , но это работает с браузерами WebKit. Часть задачи состоит в том, чтобы извлечь файл изображения из объекта холст и добавить его к объекту FormData для загрузки.

Проблема заключается в том, что хотя холст имеет функцию toDataURL для возврата представления файла изображения, объект FormData принимает только объекты File или Blob из File API. .

Решение Mozilla использовало следующую функцию только для Firefox на холсте :

var file = canvas.mozGetAsFile("foo.png");

... которая недоступна в браузерах WebKit. Лучшее решение, которое я мог придумать, - это найти способ преобразовать URI данных в объект File, который, как я думал, может быть частью File API, но я не могу найти что-нибудь для этого.

Возможно ли это? Если нет, есть ли альтернативы?

Спасибо.

270
задан Stoive 14 February 2011 в 14:40
поделиться