您的位置:首页 > Web前端

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

2017-02-27 14:00 441 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: