我正在开发一个Phonegap应用程序,它会录制音频并将音频上传到我的服务器。下面的代码允许我使用readAsDataURL方法读取录制的音频文件并将数据作为base64编码的数据URL返回,然后在警告框中显示该URL。该代码在Android上完美运行,但在ios上运行不正常。关于ios的文档说:“不支持iOS Quirks编码参数,总是使用UTF8编码。” 所以我想知道是否有人可以为我提供另一种选择。我只希望最终结果与Android上的结果相同,这是一个显示数据网址的警告框。我知道警报框可能无法显示整个网址。我只使用警报框进行确认。我希望我的变量将数据url存储在其中。
我的代码:
function gotFS(fileSystem) {
fileSystem.root.getFile("myaudio.wav", null, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.file(gotFile, fail);
}
function gotFile(file){
readDataUrl(file);
}
function readDataUrl(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as data URL");
console.log(evt.target.result);
var theFile = evt.target.result;
alert(theFile); //shows data url on Android
};
reader.readAsDataURL(file);
}
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, function fail(){});