阅读csv文件客户端
我必须阅读csv文件客户端的前几行,以便在上传大文件之前向用户显示预览。
我在ASP.Net(VS2010)上使用c#
有谁知道如何做到这一点? 它也适用于所有浏览器!?!
(不可能使用activeX左右,我们不希望我们的客户安装东西!)
示例代码会很棒!
提前致谢!
Firefox 3.6+和Chrome(至少版本6,可能是旧版本)支持File API ,它允许您从文件输入中读取本地文件。
这是一个快速示例:
function handleFile(file) { var reader = new FileReader(); reader.onload = function(e) { // Here's where you would parse the first few lines of the CSV file console.log(e.target.result); }; reader.readAsText(file); }
在你的HTML中,你会有这样的事情:
当然,在现实生活中你应该优雅地降低它。
file
对象具有name
和type
属性,如果您想要更严格,可以使用它们来validation它是否为CSV文件。
您无法使用vanilla JavaScript读取本地文件。
您可以使用activeX作为使用IE的渐进增强function(即使为IE用户提供增强的体验也违背了我所代表的一切!)。
如果可以使用Flash,请查看 Flash中的“ 读取本地文件” 。
不,你不能使用javascript从用户的机器上读取文件。 如果您想要跨浏览器方式执行此操作,则必须获得Flash或Java等方面的帮助。
在HTML5中有针对File API的W3C提议 。 我针对此测试运行了一些浏览器,发现Firefox 3.6和Chrome 6支持File Reader API
和Local Storage
。 Safari 5(在Windows上)支持Local Storage
但不支持File Reader API
。 对不起,我无法测试IE9,因为公司政策已将IE6(?!)固定到位。