(对于网络编程来说是新手,所以对任何缺乏基础知识表示歉意。)
我的页面允许用户选择一个文件然后读取客户端&显示在页面上的文本框中。我发现这样做的最简单方法是使用FileReader对象,它在Firefox和Chrome中运行良好。
这在Safari(尚未)中不起作用,那么我该怎么做呢?
//When the eventlistener detects a change in the input file...
var file = evt.target.files[0]
var reader = new FileReader();
reader.onload = function (e){document.getElementById('data').value = e.target.result};
reader.readAsText(file);
相关说明:
答案 0 :(得分:6)
可悲的是,我能想出的唯一答案是占用一些额外的带宽。
首先,使用类似if (typeof FileReader !== "undefined"
或Modernizr的内容来跟踪支持FileReader的浏览器的正常流程。否则,通过AJAX将文件发送到回送内容的服务器端脚本。
因此,对于兼容的浏览器,您可以节省一些带宽,对于不兼容的浏览器,您必须为团队选择一个。
答案 1 :(得分:1)
另一个解决方案是使用" FileReader polyfill for Internet Explore和Safari使用Flash"