Javascript 以转义URL作为参数的URL。仅在Android中获得异常

Javascript 以转义URL作为参数的URL。仅在Android中获得异常,javascript,android,escaping,titanium,Javascript,Android,Escaping,Titanium,我在一个钛合金项目中工作,我们正在使用mapbox获取地图图像。使用mapbox,我们还可以使用另一个远程图像作为地图标记。这些图像也缓存在cloudinary中。 因此,创建url的代码是: url = 'http://res.cloudinary.com/id/image/fetch/'; marker = 'url-' + encodeURIComponent(markerImageURL) + '(' + longitude + ',' + latitude + '

我在一个钛合金项目中工作,我们正在使用mapbox获取地图图像。使用mapbox,我们还可以使用另一个远程图像作为地图标记。这些图像也缓存在cloudinary中。 因此,创建url的代码是:

    url    = 'http://res.cloudinary.com/id/image/fetch/';
    marker = 'url-' + encodeURIComponent(markerImageURL) + '(' + longitude + ',' + latitude + ')/';
    url    = url + encodeURIComponent('http://api.tiles.mapbox.com/v3/blabla.key/' + marker + longitude + ',' + latitude + ',18/' + mapWidth + 'x' + mapHeight + '.png');

    $.mapImage.setImage(url);
url的结构类似于:

    http://res.cloudinary.com/id/image/fetch/[escaped-mapbox-url]
其中[mapbox url]:

    http://api.tiles.mapbox.com/v3/user/url-[escaped-marker-url]/longitude,latitude,zoom/widthxheight.png
和[转义标记url]:

    url-marker(longitude,latitude)/
在IOS中,这项功能完美无瑕,但在Android中,这会给我带来以下错误:

    [ERROR] TiDownloadManager: (pool-4-thread-1) [77094,82061] Exception downloading [Here puts the plain url, not the escaped version]
    [ERROR] TiDownloadManager: java.io.FileNotFoundException: [Here puts the plain url, not the escaped version]
    [ERROR] TiDownloadManager:  at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186)
    [ERROR] TiDownloadManager:  at java.net.URL.openStream(URL.java:462)
    [ERROR] TiDownloadManager:  at org.appcelerator.titanium.util.TiDownloadManager$DownloadJob.run(TiDownloadManager.java:135)
    [ERROR] TiDownloadManager:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
    [ERROR] TiDownloadManager:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
    [ERROR] TiDownloadManager:  at java.lang.Thread.run(Thread.java:841)

我尝试过用escape()、encodeUri()转义它,在纯文本中也转义了(),-。但似乎什么都不管用。一些线索是值得赞赏的。非常感谢。

您是否尝试过使用
Ti.Network.encodeURIComponent
?是的,但还是没有运气。