|
发表于 2017-9-1 13:25:22
|
显示全部楼层
1、在拍照成功的回调中获得图片的base64;// 拍照成功之后的回调
function onSuccess(imageURI) {
var dfd = $.Deferred();
window.resolveLocalFileSystemURI(imageURI, function(entry) {
entry.file(win, fail);
function win(file) {
var reader = new FileReader();
reader.onload = function(evt) {
var base64String = evt.target.result;
// 此处调用保存图片的操作
reader.abort();
dfd.resolve();
};
reader.readAsDataURL(file);
}
}, function() {
dfd.resolve();
});
}
2、resolveLocalFileSystemURL存储文件。
// 将图片保存到手机目录下的操作,// 第一个参数为base34字符串,第二个参数为保存图片的名字,第三个参数为图片的格式
Model.prototype.saveFile = function(base64Str, fileName, fileType) {
var self = this;
window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory + "DCIM/Camera", function(root) {
root.getFile(fileName, {
create : true
}, function(dirEntry) {
dirEntry.createWriter(gotFileWriter, fail);
}, function(err) {
// justep.Util.hint("创建文件夹失败");
});
layer.msg("创建文件夹失败");
}, function(err) {
// justep.Util.hint("打开文件夹失败");
layer.msg("打开文件夹失败");
});
function gotFileWriter(writer) {
writer.seek(0); // 将文件指针指向文件的尾部
writer.write(self.convertBase64UrlToBlob(base64Str, fileType));
// 文件存储在手机上的路径
// justep.Util.hint("保存成功,位置:相册/" + fileName, {
// "type" : "success",
// "delay" : 2000,
// "position" : "middle"
// });
layer.msg("保存成功,位置:相册/" + fileName);
}
function fail(error) {
// justep.Util.hint("未执行" + error.code);
layer.msg("未执行" + error.code);
}
};
|
|