是否可以允许用户指定要在PhoneGap中下载哪个文件?

时间:2013-02-20 17:16:40

标签: javascript html xcode cordova

我正在开发一个iPhone应用程序(在Xcode上使用JavaScript,HTML和PhoneGap / Cordova),只需点击一下按钮就可以从Dropbox下载文件,并允许用户将其读入<p>标签。这一切都有效,但只有当我指定程序要遵循特定文件的URL时。我希望用户能够选择自己的文件并将其下载到应用程序中进行阅读。我目前的代码是;

 function downloadfile() {
        var fileTransfer = new FileTransfer();
        var uri = encodeURI("http://dl.dropbox.com/u/97184921/readme.txt");

        fileTransfer.download(
                uri,
                '/Users/administrator/Library/Application Support/iPhone Simulator/6.1/Applications/AF96D141-0CE5-4D60-9FA8-8A8F9A999C81/Documents/readme.txt',
                function(entry) {
                    console.log("download complete: " + entry.fullPath);
                              alert("File Downloaded. Click 'Read Downloaded File' to see text");
                },
                function(error) {
                    console.log("download error source " + error.source);
                    console.log("download error target " + error.target);
                    console.log("upload error code" + error.code);
                }
        );
    }

    function readDownloadedFile() {
        myFileSystem.root.getFile("readme.txt", {create: false, exclusive: false}, gotDownloadFileEntry, fail);
        $('#mytext').load('http://dl.dropbox.com/u/97184921/readme.txt', function(){
                                                                                console.log("read is done");
                                                                            });
    }

    function gotDownloadFileEntry(fileEntry) {
        console.log(fileEntry);
        fileEntry.file(gotFile, fail);
    }

如果可以允许用户指定要下载的文件,我怎么能改变代码呢?我对iPhone开发还很陌生,所以任何帮助都会很棒:)

这是按钮的HTML,以备不时之需;

    <button onclick="downloadfile();">Download Dropbox File</button>
    <button onclick="readDownloadedFile();">Read Downloaded File</button>

1 个答案:

答案 0 :(得分:1)

使用输入字段允许用户指定要下载的网址。

<input type="text" id="toDl"/>

然后在你的downloadFile()方法中执行:

var fileUrl = document.getElementById("toDl").value;

获取您要下载的网址。