是否可以在手机间隙中设置特定的文件路径?

时间:2013-02-19 14:27:34

标签: javascript html xcode cordova

我目前正在努力寻找PhoneGap在iPhone应用程序开发中能做/不能做的事情。到目前为止,我已经设法使用FileWriter将文件写入LocalFileSystem,并且单击按钮将文件读回给用户。我被要求找到一种设置应用程序的方法,以便当应用程序写入文件时,文件将保存到用户指定的文件夹/位置。我一直在寻找,但我找不到任何与此有关的信息。甚至可以这样做吗?如果是这样,你能帮助我吗?

我在Xcode中为此应用使用JavaScript,HTML和PhoneGap

这是我用于使用LocalFileSystem写入/读取文件的代码;

    var reader;
    var text;
    var myFileSystem;

    document.addEventListener("deviceready", onDeviceReady, false);

    function onDeviceReady() {
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
    }

    function myfile() {
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotmyFS, fail);
    }

    function gotFS(fileSystem) {
        fileSystem.root.getFile("readme.txt", {create: true, exclusive: false}, gotFileEntry, fail);
        myFileSystem = fileSystem;
        console.log(fileSystem.name);
    }

    function gotmyFS(fileSystem) {
        fileSystem.root.getFile("readme2.txt", {create: true, exclusive: false}, gotFileEntry, fail);
    }

    function gotFileEntry(fileEntry) {
        fileEntry.createWriter(gotFileWriter, fail);
        fileEntry.file(gotFile, fail);
    }

    function gotFileWriter(writer) {
        writer.write("some sample text");
    }

    function gotFile(file){
        readAsText(file);
    }

    function readDataUrl(file) {
        reader = new FileReader();
        reader.onloadend = function(evt) {
            console.log("Read as data URL");
            console.log(evt.target.result);
        };
        reader.readAsDataURL(file);
    }

    function readAsText(file) {
        reader = new FileReader();
        reader.onloadend = function(evt) {
            console.log("Read as text");
            console.log(evt.target.result);
            console.log(file);
            text = evt.target.result;
        };
        reader.readAsText(file);
    }

    function readmyfile() {
        var myPara = document.getElementById("mytext");
        myPara.innerText = text;
    }
    function fail(error) {
        console.log(error.code);
    }

这一切都有效,但是我应该添加/删除哪些内容才能使其正常工作?

非常感谢xx

1 个答案:

答案 0 :(得分:0)

iOS应用程序是沙盒,您只能写入特定目录。更多详情here