在Android Webview中加载本地图像时发生未知铬错误-6

问题描述:

我正在开发一个Worklight项目,该项目下载zip文件,将其解压缩并将文件存储在平台的特定文档目录中(在iOS中为NSDocumentDirectory,在Android上我使用getFilesDir())。该文件由一个HTML文件和多个图像组成,位于子目录(媒体)中。在两个平台上下载和解压缩都能正常工作。在解压缩过程之后,我将HTML文件的内容加载到现有的div中(因为这是一个Worklight应用程序,所有内容都在一个HTML文件中)。在Android Webview中加载本地图像时发生未知铬错误-6

这里事情变得复杂: 我下载的HTML文件中的图像标签源与HTML文件相关(例如'media/myimage.jpg')。将HTML文件注入Worklight HTML文件(位于应用程序包/软件包中)时,基本URL会更改,并且图像无法在任何位置找到。我通过编写本地函数来解决这个问题,该函数重写下载的HTML文件中的所有图像标记以指向绝对URL(iOS:/var/mobile/Applications/<identifier>/Documents/,Android:/data/data/<id>/files/)。这在iOS上可以正常工作,但在Android上它会导致HTML仅部分加载。 LogCat然后显示:

Unknown chromium error: -6 

如果我保持文件原样,HTML加载正确,但显然与破碎的图像。我也尝试将网址更改为file:///data/data/<id>/files/ [...],这也导致HTML无法完全加载。我真的不知道是什么导致了这个问题。该应用程序已具有WRITE_EXTERNAL_STORAGE权限。

有没有人有一个想法如何解决这个问题?谢谢!

+0

看一看[Android设备/数据/数据/ mypackage的/ IMG] [1] [1]:http://*.com/questions/7408838/android-data-data-mypackage -img – 2013-04-08 15:36:53

+0

@René,你解决了这个问题吗? – 2013-04-22 07:01:56

+0

原来这个错误是由于图像宽度大于1500px而导致的。缩小它们后,错误消失。我想,必须是Android webview的问题。 – 2013-04-22 08:53:19

原来这个错误是由于图像的宽度大于1500px。缩小它们后,错误消失。我想,必须是Android webview的问题。