我访问在移动端安卓6.1外部存储的时候file的 type是-1 的时候fileReader 就拿不到数据了 访问沙盒下的存储 type是2 的时候是可以拿到的数据的
plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, function(fs) {
fs.root.getFile(
"file:///storage/emulated/0/countries-raster.mbtiles/countries-raster.mbtiles", {
create: true
},
function(fileEntry) {
fileEntry.file( function(file){
var fileReader = new plus.io.FileReader();
alert("getFile:" + JSON.stringify(file));
alert(JSON.stringify(fileReader))
fileReader.onloadend = function(evt) {
alert(fileReader.result)
alert("11" + JSON.stringify(evt));
alert("evt.target" + JSON.stringify(evt.target));
alert( evt.target.result);
var fileArray=Base64toArrayBuffer(evt.target.result)
var map = new L.Map("mapContainer_vue").fitWorld();
var mb = L.tileLayer
.mbTiles(fileArray, {
minZoom: 0,
maxZoom: 6,
})
.addTo(map);
}
fileReader.readAsDataURL( file );
alert(file.size + '文件名:' + file.name);
} );
},
function(error) {
alert('报错:',JSON.stringify(error) )
});
});
这个是报错打印出来的
{"type":"loadend","bubbles":false,"cancelBubble":false,"cancelable":false,"lengthComputable":false,"loaded":0,"total":0,"target":{"fileName":"/storage/emulated/0/countries-raster.mbtiles/countries-raster.mbtiles","readyState":2"result":null,"error":{"code":10,"message"∵:"执行错"},"onloadstart":null,"onprogress":null"onload":null,"onabort":null,"onerror":null)}