javascript – [更新]在Chrome中使用FileReader

我设置了一个Apache服务器,将页面放在服务器上,问题解决了.
所以我知道这个问题是由chrome中的安全设置引起的.

现在我想知道,是否可以让本地网页访问本地文件?

我打算创建一个允许将局部图像拖到其上的页面.
这是我的代码,它在chrome中不起作用

问题是reader.onload事件没有触发,而是错误的.

那是什么原因?以及如何解决它?
非常感谢.

var oImg=document.getElementById("img1");

oImg.addEventListener('dragover', function(e) {
    e.stopPropagation();
    e.preventDefault();
}, false);

oImg.addEventListener('drop', handleDrop, false);

function handleDrop(e) {
    e.stopPropagation();
    e.preventDefault();

    var thisfile  = e.dataTransfer.files[0],
    reader = new FileReader();

    reader.onload = (function(thisfile){
        return function(e){
            oImg.src = e.target.result;
            }
        }
    })(thisfile);

    reader.readAsDataURL(thisfile);
}

解决方法:

我不确定此选项是否仍然可用(AFAIK) – 尝试使用交换机打开chrome -allow-file-access-from-files

存在可能与您的问题相关的开放issue.发布此问题的人越多,修复的可能性就越大 – 请参阅评论#1.

上一篇:获取本地json或者yaml等文件内容,展示在编辑框


下一篇:使用新的FileReader API和DataURL进行Javascript预览似乎效率低下