1. IO模块管理本地文件系统
用于对文件系统的目录浏览、文件的读取、文件的写入等操作
1.1 resolveLocalFileSystemURL
通过URL参数获取目录对象或文件对象
plus.io.resolveLocalFileSystemURL(relativePath, entry => {
//如果文件存在,则直接获取本地文件
console.log("文件已存在=" + relativePath);
}, e => { //如果文件不存在,联网下载文件
console.log("文件不存在,联网下载=" + relativePath);
});
1.2 FileReader
文件系统中的读取文件对象,用于获取文件的内容
plus.io.requestFileSystem( plus.io.PRIVATE_WWW, function(fs){
// fs.root是根目录操作对象DirectoryEntry
fs.root.getFile('config.xml',{create:true}, function(fileEntry){
fileEntry.file( function(file){
var fileReader = new plus.io.FileReader();
alert("getFile:" + JSON.stringify(file));
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
alert("11" + evt);
alert("evt.target" + evt.target);
alert(evt.target.result);
}
alert(file.size + '--' + file.name);
} );
});
} );
FileReader对象是从设备文件系统读取文件FileReader对象是从设备文件系统读取文件的一种方式,文件以文本或者Base64编码的字符串形式读出来
方法:
- abort: 终止文件读取操作
- readAsDataURL: 以URL编码格式读取文件数据内容
- readAsText: 以文本格式读取文件数据内容
事件:
- onloadstart: 读取文件开始时的回调函数
- onload: 读取文件成功完成的回调函数
- onabort: 取消读取文件时的回调函数
- onerror: 文件读取操作失败时调用的回调函数
- onloadend: 文件读取操作完成时的回调函数
2 plus.runtime.openFile
打开下载的文件
3 plus.zipZip 模块
管理文件压缩和解压,通过plus.zip可获取压缩管理对象
3.1 compress
压缩生成Zip文件
void plus.zip.compress(src, zipfile, successCB, errorCB);
* src 必选 *要压缩的源文件路径,支持文件路径或目录
* zipfile 必选 *压缩后保存的Zip文件路径
* successCB 压缩Zip文件操作成功回调,在压缩操作成功时调用
* errorCB 可选 *压缩Zip文件操作失败回调,在压缩操作失败时调用
3.2 decompress
解压缩Zip文件
void plus.zip.decompress( zipfile, target, successCB, errorCB);
4 downloader模块
管理网络文件下载任务,用于从服务器下载各种文件,并支持跨域访问操作
4.1 createDownload
新建下载任务
// 创建下载任务
function createDownload() {
var dtask = plus.downloader.createDownload("http://www.abc.com/a.doc", {},
function(d, status){
// 下载完成
if(status == 200){
console.log("Download success: " + d.filename);
} else {
console.log("Download failed: " + status);
}
}
);
dtask.start();
}
5 nativeObj管理系统原生对象
5.1 Bitmap 原生图片对象
原生图片对象会占用较大的内存资源,在使用时需谨慎管理,当图片不再使用时应该及时调用clear方法进行销毁
5.2 loadBase64Data
加载Base64编码格式图片到Bitmap对象
// 获取图片的base64格式数据
var data = null;
var img = new Image();
img.onload = function(){
var cx = cimg.getContext('2d');
cimg.width = img.width;
cimg.height = img.height;
cx.drawImage( img, 0, 0 );
data = cimg.toDataURL();
}
img.src = 'logo.png';
// 加载Base64编码格式图片到Bitmap对象
function loadDataImage(){
bitmap.loadBase64Data( data, function(){
console.log("加载Base64图片数据成功");
}, function(){
console.log('加载Base64图片数据失败:'+JSON.stringify(e));
} );
}
5.3 load
加载Bitmap图片
var bitmap = new plus.nativeObj.Bitmap("test");
// 从本地加载Bitmap图片
bitmap.load('icon.png',function(){
console.log('加载图片成功');
},function(e){
console.log('加载图片失败:'+JSON.stringify(e));
});
5.4 save
保存图片
function plusReady(){
wc = plus.webview.currentWebview();
bitmap = new plus.nativeObj.Bitmap("test","_www/bimap/capture.png");
// 将webview内容绘制到Bitmap对象中
wc.draw(bitmap,function(){
console.log('绘制图片成功');
bitmap.save("_www/bimap/capture.png");
},function(e){
console.log('绘制图片失败:'+JSON.stringify(e));
});
}
5.5
6 gallery模块
管理系统相册,支持从相册中选择图片或视频文件、保存图片或视频文件到相册等功能
6.1 pick
从系统相册选择文件(图片或视频)
animation: (Boolean 类型 )是否显示系统相册文件选择界面的动画
filename: (String 类型 )选择文件保存的路径
某
filter: (GalleryFilter 类型 )相册中选择文件类型过滤器
系统相册选择器中可选择的文件类型,可设置为仅选择图片文件(“image”)、视频文件(“video”)或所有文件(“none”),默认值为“image”。
maximum: (Number 类型 )最多选择的图片数量
仅在支持多选时有效,取值范围为1到Infinity,默认值为Infinity,即不限制选择的图片数。 如果设置的值非法则使用默认值Infinity。
multiple: (Boolean 类型 )是否支持多选图片
// 从相册中选择图片
function galleryImg() {
// 从相册中选择图片
console.log("从相册中选择图片:");
plus.gallery.pick( function(path){
console.log(path);
}, function ( e ) {
console.log( "取消选择图片" );
}, {filter:"image"} );
}
// 从相册中选择多张图片
function galleryImgs(){
// 从相册中选择图片
console.log("从相册中选择多张图片:");
plus.gallery.pick( function(e){
for(var i in e.files){
console.log(e.files[i]);
}
}, function ( e ) {
console.log( "取消选择图片" );
},{filter:"image",multiple:true});
}
6.2 save
保存文件到系统相册中。
每次仅能保存一个文件,支持图片文件(jpg/jpeg、png、bmp等格式)和视频文件(3gp、mov等格式)
// 保存图片到相册中
function savePicture() {
plus.gallery.save( "_doc/a.jpg", function () {
alert( "保存图片到相册成功" );
} );
}