首页 > 学院 > 开发设计 > 正文

cordova-plugin-file-transfer实现文件上传、下载整理(二)

2019-11-06 10:01:09
字体:
来源:转载
供稿:网友

Cordova FileTransfer操作实例

一、上传文件并监听上传进度

1.打开文件

//可以指定cdvfile://的地址//var fileURL = 'cdvfile://localhost/persistent/path/to/file.txt';var filename = $scope.data.file;window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fs) {    fs.root.getFile(filename, { create: true }, function (fileEntry) {        uploadHandle(fileEntry);    }, errorHandle)}, errorHandle);2.上传文件

function uploadHandle(fileEntry) {    var fileURL = fileEntry.toURL();    var win = function (r) {        console.info(r);        console.log("Code = " + r.responseCode);        console.log("Response = " + r.response);        console.log("Sent = " + r.bytesSent);    }    var fail = function (error) {        console.info(error);        alert("An error has occurred: Code = " + error.code);        console.log("upload error source " + error.source);        console.log("upload error target " + error.target);    }    //参数    var options = new FileUploadOptions();    options.fileKey = 'file';    options.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1);    options.mimeType = "text/plain";    var params = {        value1: 'test',        value2: 'param'    };    options.params = params;    //执行上传    var ft = new FileTransfer();    console.info(ft);    //绑定显示上传进度    ft.onPRogress = function (e) {        console.info(e);        if (e.lengthComputable) {            console.log('当前进度:' + e.loaded / e.total);        }    }    ft.upload(fileURL, encodeURI('http://169.254.80.80:8085/common'), win, fail);}

显示结果:

二、下载文件并监听进度

1.创建文件

//下载图片window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fs) {    //创建文件    var url = 'http://www.gongjuji.net/Content/Images/hostOperate1.png';    fs.root.getFile('test1.png', { create: true }, function (fileEntry) {        download(fileEntry, url);    }, errorHandle);}, errorHandle)

2.下载文件

function download(fileEntry, url) {    var ft = new FileTransfer();    var fileURL = fileEntry.toURL();    //监听下载进度    ft.onprogress = function (e) {        console.info(e);        if (e.lengthComputable) {            console.log('当前进度:' + e.loaded / e.total);        }    }    ft.download(url, fileURL, function (entry) {        console.log('下载成功');        console.info(entry);        console.log('文件位置:' + entry.toURL());    }, function (err) {        console.log("下载失败!");        console.info(err);    }, null, // or, pass false    {        //headers: {        //    "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="        //}    });}显示结果:

更多:

cordova-plugin-file-transfer实现文件上传、下载整理(一)

cordova-plugin-file 文件操作整理(三)

Apache Cordova开发环境搭建(二)VS Code


上一篇:堆和栈的区别

下一篇:read/write函数

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表