直接贴代码,如下所示。
有大神指点下么?为什么IOS打开相册选取到的GIF图是PNG格式,安卓就是好的。
plus.gallery.pick(function (p) {
for(var i in p.files) {
var fileSrc = p.files[i];
plus.io.resolveLocalFileSystemURL(fileSrc, function(entry) {
entry.file(function(file) {
var fType = file.type;
if(file.type == -1){
fType = file.name.substr(file.name.lastIndexOf(".")+1);
fType = "image/"+fType;
}
if(fType == "image/gif" || fType == "image/GIF"){
plus.nativeUI.toast(fType);
var reader = new plus.io.FileReader();
reader.onloadend = function ( e ) {
var base64 = e.target.result;
var pic = base64.split(',')[1];//图片的base64编码内容
var text = window.atob(pic);
var tmp = base64.split(",")[0];//data:image/png;base64
tmp = base64.split(":")[1];
tmp = tmp.split(";")[0];
var buffer = new Uint8Array(text.length);
for (var i = 0; i < text.length; i++) {
buffer[i] = text.charCodeAt(i);
}
var newData = self.getBlob([buffer], tmp);
self.formList.push(newData);
};
reader.readAsDataURL( file );
}else{
self.setFormData(entry.toLocalURL(),fType);
}
self.imgList.push(entry.toLocalURL());
})
}, function(e) {
plus.nativeUI.toast(e.message);
});
}
}, function (e) {
plus.nativeUI.toast(e.message);
}, {
filter:'image',
filename: "_doc/camera/",
multiple: true,
maximum: 9,
system: false,
onmaxed: function() {
plus.nativeUI.alert('最多只能选择9张图片');
}
});
0 个回复