如何设置动态值(文本框值)到cordova下载插件

时间:2015-08-17 05:08:26

标签: javascript android jquery cordova cordova-plugins

我是Cordova插件的新手,并且在所有方面...... 我已经实现了coedova插件来下载文件.. Cordova plugin

这是代码..

var app = {

fileName: "abc.txt", //<-- this one i want to do dynamic
uriString: "http://.....",  //<-- this one i want to do dynamic
// Application Constructor
initialize: function() {
    this.bindEvents();
},

downloadFile: function(uriString, targetFile) {

    var lblProgress = document.getElementById('lblProgress');

    var complete = function() {
        lblProgress.innerHTML = 'Done';
    };
    var error = function (err) {
        console.log('Error: ' + err);
        lblProgress.innerHTML = 'Error: ' + err;
    };
    var progress = function(progress) {
        lblProgress.innerHTML = (100 * progress.bytesReceived / progress.totalBytesToReceive) + '%';
    };

    try{

        var downloader = new BackgroundTransfer.BackgroundDownloader();
        // Create a new download operation.
        var download = downloader.createDownload(uriString, targetFile);
        // Start the download and persist the promise to be able to cancel the download.
        app.downloadPromise = download.startAsync().then(complete, error, progress);

    } catch(err) {
        console.log('Error: ' + err);
    }
},

// Bind Event Listeners
//
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function() {
    document.addEventListener('deviceready', this.onDeviceReady, false);

    document.getElementById('btnStart').addEventListener('click', this.startDownload);
    document.getElementById('btnStop').addEventListener('click', this.stopDownload);
    document.getElementById('btnFileInfo').addEventListener('click', this.getFileInfo);
},
// deviceready Event Handler
//
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicity call 'app.receivedEvent(...);'
onDeviceReady: function() {
    app.receivedEvent('deviceready');

    app.startDownload();
},

startDownload: function () {

    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
        fileSystem.root.getFile(app.fileName, { create: true }, function (newFile) {
            app.downloadFile(app.uriString, newFile);
        });
    });
},

stopDownload: function () {
    app.downloadPromise && app.downloadPromise.cancel();
},

getFileInfo: function () {
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
        fileSystem.root.getFile(app.fileName, { create: true }, function (fileEntry) {
            fileEntry.file(function (meta) {
                document.getElementById('lblFileInfo').innerHTML =
                    "Modified: " + meta.lastModifiedDate + "<br/>" +
                    "size: " + meta.size;
            });
        }, function(error) {
            document.getElementById('lblFileInfo').innerHTML = "error: " + error;
        });
    });
},

    // Update DOM on a Received Event
receivedEvent: function(id) {
    var parentElement = document.getElementById(id);
    var listeningElement = parentElement.querySelector('.listening');
    var receivedElement = parentElement.querySelector('.received');

    listeningElement.setAttribute('style', 'display:none;');
    receivedElement.setAttribute('style', 'display:block;');

    console.log('Received Event: ' + id);
}

};

这个js文件在页面加载时开始下载或点击开始按钮.. 我想删除onpage load并且只在按钮点击时设置..还有如何设置uristring和filename的动态值.......

0 个答案:

没有答案