|
楼主 |
发表于 2016-9-5 17:06:10
|
显示全部楼层
看下代码,感受一下就明白了。。。fileurl就是你定义的文件的完整路径,比如这样的:/user/student/yaoming.jpg
我这里源数据是图片格式,所以要用后面的convertBase64UrlToBlob来转成能被存储的格式
saveDataTofilesystem : function(fileurl,Base64code,dtd) {
var self = this;
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(window.PERSISTENT, 0, function(fs) {
fs.root.getFile(fileurl, {
create : true
}, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
var data = self.convertBase64UrlToBlob(Base64code);
fileWriter.write(data);
dtd.resolve();
//alert('save success'+fileurl);
}, function(err) {
alert("错误码 :" + err.code);
});
}, function(err) {
alert("错误码 :" + err.code);
});
}, self.errorHandler);
},
convertBase64UrlToBlob : function(Base64code) {
// var bytes=window.atob(base64code.split(',')[1]);
// //去掉url的头,并转换为byte
var bytes = window.atob(Base64code);
// 处理异常,将ascii码小于0的转换为大于0
var ab = new ArrayBuffer(bytes.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < bytes.length; i++) {
ia = bytes.charCodeAt(i);
}
return new Blob([ ab ], {
type : 'image/jpeg'
});
},
|
|