$cordovaFileTransfer 可以实现cordova文件上传下载
这个插件可以让你上传和下载文件。
cordova plugin add cordova-plugin-file-transfer
方法(Methods)
download(url, targetPath, options, trustHosts)
从服务器下载文件
参数 |
类型 |
说明 |
url |
String |
文件服务器URL下载地址 |
targetPath |
String |
文件保存路径 |
options |
Object |
可选参数 |
trustAllHosts |
Boolean |
如果设置为true,接受所有安全证书 |
返回值 |
类型 |
说明 |
success |
Object |
返回成功下载的文件路径和更多的信息 |
progress |
Object |
返回下载文件的进度 |
upload(server, targetPath, options, trustAllHosts)
上传文件到服务器
参数 |
类型 |
说明 |
url |
String |
服务器上传地址 |
targetPath |
String |
上传文件路径 |
options |
Object |
可选参数 |
trustAllHosts |
Boolean |
如果设置为true,接受所有安全证书 |
返回值 |
类型 |
说明 |
success |
Object |
返回成功对象的文件路径和更多的信息 |
progress |
Object |
返回上传文件的进度 |
选项参数是一个Object,有以下几个关键的属性:
属性 |
类型 |
说明 |
encodeURI |
Boolean |
编码服务器的URL使用encodeURI。默认设置为true |
timeout |
Integer |
超时时间已毫秒为单位 |
代码实例
module.controller('MyCtrl', function($scope, $timeout, $cordovaFileTransfer) {
document.addEventListener('deviceready', function () {
var url = "http://cdn.wall-pix.net/albums/art-space/00030109.jpg";
var targetPath = cordova.file.documentsDirectory + "testImage.png";
var trustHosts = true;
var options = {};
$cordovaFileTransfer.download(url, targetPath, options, trustHosts)
.then(function(result) {
// Success!
}, function(err) {
// Error
}, function (progress) {
$timeout(function () {
$scope.downloadProgress = (progress.loaded / progress.total) * 100;
});
});
}, false);
document.addEventListener('deviceready', function () {
$cordovaFileTransfer.upload(server, filePath, options)
.then(function(result) {
// Success!
}, function(err) {
// Error
}, function (progress) {
// constant progress updates
});
}, false);
});