canvas.toDataURL不会生成image / jpeg数据

时间:2013-03-19 09:05:20

标签: android cordova html5-canvas base64

我正在尝试使用base64 + phonegap 2.5将html5画布数据保存到服务器。

平台:Windows Phone 7和8,Android和IOS。

图像大小调整的基本需求是在通过服务器发送之前优化数据。

我遇到了android平台base64响应方法的问题,如下所示

问题

  1. Android 4.2:我写了这段代码c.toDataURL("image/jpeg");,但我得到了这个data:image/png;base64
  2. Android 2.3:我无法检索base64数据
  3. 我做错了吗?

2 个答案:

答案 0 :(得分:10)

  • Android 2.3:我无法检索base64数据
旧的Android版本不支持

canvas.toDataURL。

有一个js修复,但性能可能不是很好: https://code.google.com/p/todataurl-png-js/

点击此处了解更多信息: toDataURL not working on android browsers

  • Android 4.2:我写了这段代码c.toDataURL(“image / jpeg”);但我得到了这些数据:image / png; base64

Android 4.x支持canvas.toDataURL;但是,它不支持jpeg格式(如果你要求jpeg,它将返回一个png)。

更多细节: https://github.com/scottjehl/Device-Bugs/issues/33

答案 1 :(得分:2)

旧浏览器(WebKits)仅支持image/png,这是唯一可以依赖的编解码器。 img/jpeg稍后会添加,但许多浏览器仍然不支持。

对于Android 2.3:尝试在vanilla浏览器中执行此操作。如果它在那里工作那么它是一个PhoneGap问题,应该向作者报告。