我一直在尝试重新实现HTML5图像上传程序,例如Mozilla Hacks网站上的 HTML5图像上传程序,但是它可以与WebKit浏览器一起使用。任务的一部分是从canvas
对象中提取图像文件,并将其附加到FormData对象以进行上传。
问题在于,虽然canvas
具有toDataURL
返回图像文件表示形式的功能,但FormData对象仅接受File API中的 File或Blob对象。
Mozilla解决方案在Firefox上使用了以下仅Firefox功能canvas
:
var file = canvas.mozGetAsFile("foo.png");
...在WebKit浏览器上不可用。我能想到的最好的解决方案是找到一种将Data URI转换为File对象的方法,我认为这可能是File API的一部分,但是我一生都找不到能够做到这一点的方法。
可能吗?如果没有,还有其他选择吗?
谢谢。
我遇到了与Ravinder Payal完全相同的问题,并且找到了答案。尝试这个: