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
新闻热点
疑难解答