为什么不百度
为什么不百度
  • 发布:2023-08-01 16:04
  • 更新:2023-09-30 17:15
  • 阅读:781

app base64 转本地文件

分类:uni-app
        //将base64编码转换成录音文件  
         dataURL2Audio (base64Str, callback) {  
            var myArray=new Array();  
            var  myArray = base64Str.split(";base64,");    
            // console.log(myArray[1]+"base64Str");  
            base64Str=myArray[1];  
        //  var base64Str = base64Str.replace('data:audio/amr;base64,', '');  
            var audioName = (new Date()).valueOf() + '.jpg';   // 替换为要转换的文件名即可  
            plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) {  
                fs.root.getFile(audioName, {  
                    create: true  
                }, function(entry) {  
                    // 获得平台绝对路径    
                    var fullPath = entry.fullPath;  
                    if(false) {  
                        // 读取音频    
                        var Base64 = plus.android.importClass("android.util.Base64");  
                        var FileOutputStream = plus.android.importClass("java.io.FileOutputStream");  
                        try {  
                            var out = new FileOutputStream(fullPath);  
                            var bytes = Base64.decode(base64Str, Base64.DEFAULT);  
                            console.log(bytes+"-------")  
                            out.write(bytes);  
                            out.close();  
                            // 回调    
                            callback && callback(entry);  
                        } catch(e) {  
                            console.log(e.message);  
                        }  
                    } else if(true) {  
                       var NSData = plus.ios.importClass('NSData');    
                    var nsData = new NSData();    
                    nsData = nsData.initWithBase64EncodedStringoptions(base64Str,0);    
                    nsData.plusCallMethod({writeToFile:fullPath,atomically:true});    
                    plus.ios.deleteObject(nsData);    
                        // 回调    
                        callback && callback(entry);  
                    }  
                })  
            })  
        },  
        aaa () {  
            // let base64Str = ''  
            let base64Str = ''  
            this.dataURL2Audio(base64Str, (entry) => {  
                                var content = entry.toURL();  
                                console.log(content) // 直接使用  
                            })  
        },
0 关注 分享

要回复文章请先登录注册

前端匠人

前端匠人

大佬,请教一下,我要在IOS系统里实现保存pdf文件的功能,代码执行后没有报错,但是找不到保存的pdf文件,应该是什么原因?
2023-09-30 17:15
xzh

xzh

其实uni关于base64创建文件,h5+是有一个隐藏方法,没有写在文档上的方法,具体可以看看 https://github.com/zhetengbiji/image-tools/blob/master/index.js,里面有个base64ToPath方法,这个方法是用writer.writeAsBinary写入文件的
2023-08-01 16:34