evt.target.result is empty?
evt.target.result is empty?
由于某些原因,在以下代码中,evt.target.result
为空。为什么?
function drop(evt) {
evt.stopPropagation();
evt.preventDefault();
var file = evt.dataTransfer.files[0];
handleFiles(file, evt.target);
}
function handleFiles(file, target) {
loadSongAnimate();
var reader = new FileReader();
// init the reader event handlers
reader.onloadend = handleReaderLoadEnd;
// begin the read operation
reader.readAsDataURL(file);
}
function handleReaderLoadEnd(evt) {
alert('Passing this: ' + evt.target.result);
document.getElementById('audioTagId').src = evt.target.result;
}
来自精细手册:
onloadend
在读取完成时调用,无论是否成功。这是在onload
或onerror
之后调用的。
我怀疑你有错误的情况。添加一个onerror
回调,看看reader.error
要说什么。您可能希望使用单独的onerror
、onabort
和onload
回调,而不是onloadend
:
onabort
当读取操作中止时调用。
onerror
发生错误时调用。
onload
在读取操作成功完成时调用。
这可能会使处理单个事件变得更容易。
在你的评论中,你说你收到了另一本精细手册中的"错误2":
常量:
SECURITY_ERR
值:2
描述:由于安全原因,无法访问该文件。
所以看起来你得到了一个"拒绝权限"的错误。
我通过本地文件编辑和查看文件://协议。当您在另一个本地文件中引用本地文件时,引用的本地文件中的空白标头会引发安全错误。
经验教训。。。总是上传到服务器进行测试。这会为我节省几个小时的谷歌搜索和大量的头发。
相关文章:
- Is onfling available for html, html5
- jQuery is not loaded
- reactRedux is not defined
- ReferenceError: cordova is not defined @ng-cordova.min.js:7
- Jquery - table.row(tr) is undefined
- contentWindow.document.body is null
- Tomcat websocket is not working
- $(.class).empty总是缺少一个元素
- Ember.TEMPLATES is empty (ember-cli-htmlbars)
- Angular if ng-repeat multi filter is empty
- jQuery $.ajax post value is empty
- req.session.passport is empty: req.user undefined
- Javascript - "this" is empty
- 从数组中选择随机项Remove It, Restart Once Array is Empty
- Angular $routeParams is empty
- evt.target.result is empty?
- Node.js express validator validate req.body is not empty
- Ajax responseText is empty
- simple Ajax (local): responseText is empty
- ng-bind-html is empty