我正在开发一个使用cordova-plugin-media录制和录制文件的应用,现在我想将此文件编码为base64字符串,现在我可以找到该文件,但是当我尝试编码时我明白了:
" {" $$状态" {"状态":0}}"
这是我的代码
audio.stopRecord();
audio.play();
if(device.platform == "iOS")
{
var path = cordova.file.tempDirectory;
}
else if(device.platform == "Android")
{
var path = cordova.file.externalRootDirectory;
}
var filename = name + extension;
var filepath = path + filename;
console.log(filepath);
console.log(JSON.stringify($cordovaFile.readAsDataURL(path, filename)));
文件路径:file:///storage/emulated/0/tPUhcxUKhmLUrWK3Qkqhc69OxeEIWyYrhEB0he9OwM0ffmjY2OUh3TLbFTsApdpIpjxyuC2wouyCs6m7uvdOCHCMiw9mbLMGYM25.mp3
任何人都可以帮我解决这个问题吗?
由于
答案 0 :(得分:2)
readAsDataURL 需要一个文件对象,它不能用于字符串路径。
尝试使用以下代码,适用于iOS和Android
window.resolveLocalFileSystemURL(path, function(fileEntry) {fileEntry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
var base64String = evt.target.result;
};
reader.readAsDataURL(file);
});}, function(e){console.log("error:" + JSON.stringify(e));});