【发布时间】:2010-12-14 20:40:55
【问题描述】:
我有一个WebView,我用它来打开存储在我项目的assets/ 目录中的一些文件。它适用于大多数文件,但特别是有一个(我敢肯定我还没有找到其他文件)它只是不会打开。
我遇到问题的文件名为:
"assets/ContentRoot/Photos/XXX Software Logo - jpg - 75%.JPG"
当我将它传递给WebView,它显示错误页面时,它显示为:
"file:///android_asset/ContentRoot/Photos/XXX%20Software%20Logo%20-%20jpg%20-%2075%.JPG"
然后我尝试在其上运行 URLEncoder.encode() 并得到错误页面,其 URL 显示为:
"file:///android_asset/ContentRoot/Photos/XXX+Software+Logo+-+jpg+-+75%.JPG"
这两个 URL 都无法打开文件(我觉得它们看起来都不错)。有人有什么想法吗?
更新:如果我手动编码%(使用%25,正如commonsware.com 建议的那样)然后它会加载图像,但它会尝试将其解析为文本,而不是一张图片,所以我得到了很多(基本上)垃圾。
另外,使用相对 URL 引用 HTML 文档中的图像也不起作用(可能是因为它没有被解析为图像?):
<img src="../Photos/XXX%20Software%20Logo%20-%20jpg%20-%2075%.JPG" />
<img src="../Photos/XXX%20Software%20Logo%20-%20jpg%20-%2075%25.JPG" />
【问题讨论】: