当前位置:  开发笔记 > 前端 > 正文

从assets/www目录访问文件

如何解决《从assets/www目录访问文件》经验,为你挑选了2个好方法。

假设foo.html我的assets/www目录(我的index.html旁边)有一个名为sitting(非常舒服)的文件.

我想将该文件复制到设备上的其他位置.我的第一种方法window.resolveLocalFileSystemURI("foo.html", cool(), notCool());不起作用.还有一个像www /它的前缀它不会.

知道它是否真的可以通过Phonegap访问文件会很有趣.我不相信,因此希望看到一个代码片段如何获取资产目录中的文件的FileEntry - 如果可能的话.

编辑:好的,现在我们有这样的电话

window.resolveLocalFileSystemURI("file:///android_asset",
  function(entry){
    console.log(entry.fullPath);},
  function(evt){
    console.log(evt.code);}
);

但我们得到了一个错误code: undefined(Phonegap v1.2)和code: 1v1.0(代码1 =找不到文件?!)



1> Simon MacDon..:

你不能做你想做的事.资产目录中的文件在技术上不在文件系统上,因此无法通过File API访问它们.这意味着调用window.resolveLocalFileSystemURI()不会返回FileEntry.

您可以期望的最好的方法是通过XHR访问这些文件.如果它们是基于文本的,您始终可以获取XHR的结果并使用FileWriter将其写入文件系统.我写了一篇博文,展示了如何使用XHR从assets目录中获取文件.

http://simonmacdonald.blogspot.com/2011/12/on-fourth-day-of-phonegapping-creating.html



2> Leon..:

您应该能够以这种方式访问​​该文件:

window.resolveLocalFileSystemURI("file:///android_asset/www/foo.html", onResolveSuccess, onFail);

然后,您可以使用File API - FileEntry.copyTo或FileEntry.moveTo来实际执行操作.注意 - 您实际上无法写入assset/www文件夹,只能写入SD卡.

希望这可以帮助

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有