gpt4 book ai didi

cordova - Angular 2/ionic 2 从本地设备文件系统读取 json 文件

转载 作者:太空狗 更新时间:2023-10-29 17:50:35 28 4
gpt4 key购买 nike

我正在开发一个有特殊要求的应用程序 - 该应用程序可以离线工作并具有“同步”机制。这意味着用户可以根据需要将应用程序与服务器同步。我实现了一个过程,使用 cordova 的“FileTransfer”和节点生成一个包含最新数据的 json 文件,并将其下载到本地文件系统。现在,我天真地认为我可以使用 stabndard htrp rquest 获取数据到这个文件。但它没有用。因此,我检查了我设备的 logcat,发现无法对“file://”协议(protocol)执行 http 请求。写这些行实际上是有道理的。

那我该怎么做呢?如何获取文件系统上的文件?有没有办法伪造在设备或 somwethibf 上运行的服务?

谢谢!

最佳答案

问题是因为json文件在本地浏览器(电脑)和设备(安卓)的路径不同。在 src\assets 文件夹中创建 data 文件夹。将您的 json 文件移动到其中。

当我们运行 ionic serve 时,它会将该文件夹(包含文件)移动到 www\assets 文件夹中。然后做以下事情:

  1. 导入ionic2Platform服务

     import { Platform } from 'ionic-angular';


  1. 注入(inject)平台服务。

      constructor(private http: Http, private platform: Platform ) { }


  1. 使用平台服务。

    public getItems() {

    var url = 'assets/data/Items.json';

    if (this.platform.is('cordova') && this.platform.is('android')) {
    url = "/android_asset/www/" + url;
    }

    return this.http.get(url)
    .map((res) => {
    return res.json()
    });
    }


关于cordova - Angular 2/ionic 2 从本地设备文件系统读取 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38861663/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com