从系统相册选择文件(图片或视频)
详情见官网:https://www.html5plus.org/doc/zh_cn/gallery.html#plus.gallery.pick
void plus.gallery.pick(successCB, errorCB, options);
单选时通过GalleryPickSuccessCallback回调函数返回选择的图片或视频文件路径,多选时通过GalleryMultiplePickSuccessCallback回调函数返回图片或视频文件路径。
// 从相册中选择多张图片 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}); }
但是在web端input type="file"得到的event.target.files是具体的文件信息,而plus.gallery.pick的successCB回调的e.files为文件的路径,要想取得具体的文件信息可以使用h5+resolveLocalFileSystemURL读取本地图片文件,转为file对象:
通过URL参数获取目录对象或文件对象
详情见官网:https://www.html5plus.org/doc/zh_cn/io.html#plus.io.resolveLocalFileSystemURL
void plus.io.resolveLocalFileSystemURL( url, succesCB, errorCB );
plus.io.resolveLocalFileSystemURL( fileAllPath, function( entry ) { // 可通过entry对象操作test.html文件 entry.file( function(file){
//此处的file信息就跟web端input type="file"得到的event.target.files基本一致了 ...}) })
【移动端】input type="file" multiple为true无法在安卓系统多选问题解决——利用H5+的plus.gallery.pick
原文:https://www.cnblogs.com/vickylinj/p/13280171.html