Javascript readAsDataURL不处理captureAudio中的文件
我的FileReader对象可以完美地上传图像。我正在跟踪Javascript readAsDataURL不处理captureAudio中的文件,javascript,cordova,meteor,Javascript,Cordova,Meteor,我的FileReader对象可以完美地上传图像。我正在跟踪onload以及其他事件,这些都是在我上传图像时发生的: fileReader = new FileReader(); fileReader.onloadstart = (e) => { window.alert('fileReader onloadstart'); window.alert(e); }; // ... and the same for onprogress, onabort, onerror, then
onload
以及其他事件,这些都是在我上传图像时发生的:
fileReader = new FileReader();
fileReader.onloadstart = (e) => {
window.alert('fileReader onloadstart');
window.alert(e);
};
// ... and the same for onprogress, onabort, onerror, then finally:
fileReader.onload = (e) => {
window.alert('arrived to fileReader.onload!');
// ...
};
我添加了cordova插件媒体捕获
来捕获音频。我现在需要使用现有的fileReader.onload
回调来上传它
但无论我做什么,我都无法得到fileReader.readAsDataURL
的响应。下面是我的代码改编自一个类似的问题,但它并没有解决它
没有触发任何fileReader
事件,甚至没有错误。fileReader.readAsDataURL
函数是可用的,但是当调用它时,所有发生的事情都是屏幕短暂变白,然后我回到了以前的页面,好像我什么都没做过一样。fileReader
上的任何方法都不会显示其警报
navigator.device.capture.captureAudio((files) => {
const file = files[0];
newFile = new File(
file.name,
file.localURL,
file.type,
file.lastModifiedDate,
file.size);
window.alert(newFile);
// --> [Object object]
window.alert(JSON.stringify(newFile));
// --> An object with name, localURL etc. See image.
window.alert(fileReader.readAsDataURL);
// --> function readAsDataURL() { [native code] }
fileReader.readAsDataURL(newFile); // nothing at all
})
字符串化的newFile
对象是:
我尝试过以不同的方式处理文件captureAudio
提供的内容:
:resolveLocalFileSystemURL
如中所示fileSystem.root.getFile
readAsDataURL
时,什么也没有发生。有什么不对劲吗
编辑:我忘了提到一些事情:
- 在iOS设备和模拟器上测试
- 已安装cordova插件文件
cordova插件文件
,抱歉,我忘了提及它。谢谢@NielsSteenbeek,你知道还有什么问题吗?也许复制粘贴我的示例1:1,看看是否调用了onload。如果这行得通,你可以用承诺来概括。谢谢@nielsteenbeek!事实证明,定义一个新的FileReader解决了这个问题。我仍然不明白为什么我不能访问现有的。。。即使将现有的onload
复制到新的也可以。但是,它是有效的。谢谢!