如何在cordova项目中正确设置URI?

如何在cordova项目中正确设置URI?,cordova,ember.js,Cordova,Ember.js,我使用cordova cli构建了一个android应用程序。应用程序无法正确访问资源。错误是 Failed to load resource: net::ERR_FILE_NOT_FOUND 我发现URI是 file:///assets/media/images/stop-sm.png 我想应该是这样 file:///android_asset/www/assets/media/images/stop-sm.png 但我不知道在哪里以及如何正确设置URI。 如有任何建议或提示,我们将不胜

我使用cordova cli构建了一个android应用程序。应用程序无法正确访问资源。错误是

Failed to load resource: net::ERR_FILE_NOT_FOUND
我发现URI是

file:///assets/media/images/stop-sm.png
我想应该是这样

file:///android_asset/www/assets/media/images/stop-sm.png
但我不知道在哪里以及如何正确设置URI。 如有任何建议或提示,我们将不胜感激。提前谢谢

[www]
  [assets]
    [media]
      [images]
         stop-sm.png
   xxx.js
   xxx.css
 index.html

您应该将此插件用于文件URI

它可以将您从不同的版本或操作系统中抽象出来

在你的情况下,你需要

cordova.file.applicationDirectory + "www/assets/media/images/stop-sm.png"
编辑:

查看评论,可能是白名单问题。如果没有插件,可以尝试添加插件,并将此元标记添加到主html中

  <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"/>


应该是
文件://
而不是
文件://
?您输入的uri将非常有用,我认为文件:///是正确的。德尔,谢谢您的快速响应,我将阅读链接信息。我将app.css文件设置为#stop{background:url(/assets/media/images/stop sm.png)no repeat;}并在js中编写如下代码;当我在浏览器上运行应用程序时,它们工作得很好。我正在阅读cordova插件文件。我使用VisualStudio2015,index.css defines.app{background:url(../img/logo.png)创建了一个项目,没有重复的中心顶部;/*170px 200px*/},它运行良好。我正在寻找原因。cordova插件文件和@Calvin文件有什么区别?@Calvin,文件是一个允许您导航设备文件系统的api,cordova插件文件是一个使您的应用程序能够使用文件api的插件。Del,谢谢您的回答。