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
一、上传文件并监听上传进度
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
相关文章推荐
- cordova-plugin-file-transfer实现文件上传、下载整理(一)
- Cordova - fileTransfer插件的使用详解(实现文件上传、下载)
- cordova-plugin-file-transfer 文件上传
- wordpress中inlineUpload plugin 与WP-Filebase plugin 集成实现文件的上传下载
- 关于$cordovaFileTransfer上传文件和参数遇到的坑
- cordova-plugin-file 文件操作整理(一)
- flex使用filereference+httphandler实现文件上传/下载
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- cordova-plugin-file 文件操作整理(三)
- 利用flex+sevlet+fileupload组件实现文件的上传和下载
- 使用FileReference+HttpHandler实现文件上传/下载(Flex与.NET互操作)
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- Flex与.NET互操作 使用FileReference+HttpHandler实现文件上传/下载
- 文件下载cordovaFileTransfer:cordova.file.documentsDirectory is null
- flex使用filereference+httphandler实现文件上传/下载(转)
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- AjaxFileUpload实现文件异步上传(AjaxFileUpload.js文件下载及参数介绍)
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载