我一直试图重新实现一个HTML5图像上传器像一个关于Mozilla Hacks网站,但这与WebKit浏览器。部分任务是从canvas
对象中提取图像文件,并将其附加到FormData对象中进行上传。
问题是,虽然canvas
具有toDataURL
函数来返回图像文件的表示,但FormData对象只接受来自文件API的file或Blob对象。
Mozilla解决方案在canvas
上使用了以下仅供firefox使用的函数:
var file = canvas.mozGetAsFile("foo.png");
...这在WebKit浏览器上是不可用的。我能想到的最佳解决方案是找到某种方法将Data URI转换为File对象,我认为这可能是File API的一部分,但我无法找到这样做的方法。
这可能吗?如果没有,有什么替代方案吗?