阅读csv文件客户端

时间:2010-09-22 14:12:11

标签: c# javascript asp.net visual-studio-2010 html5

我必须阅读csv文件客户端的前两行,以便在上传大文件之前向用户显示预览。

我在ASP.Net(VS2010)中使用c#

有谁知道如何做到这一点?它也适用于所有浏览器!?!

(不可能使用activeX左右,我们不希望我们的客户安装东西!)

示例代码会很棒!

提前致谢!

4 个答案:

答案 0 :(得分:3)

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中,你会有这样的东西:

<input type="file" onchange="handleFile(this.files[0])" />

当然,在现实生活中,你应该优雅地降低它。

file对象具有nametype属性,如果您想要更严格,可以使用这些属性来验证它是否为CSV文件。

答案 1 :(得分:1)

您无法使用vanilla JavaScript读取本地文件。

您可以将activeX用作使用IE的渐进增强功能(即使为IE用户提供增强的体验也违背了我所要求的一切!)。

如果您可以使用Flash,请查看Read local file in Flash

答案 2 :(得分:1)

不,你不能使用javascript从用户的机器上读取文件。如果你想用跨浏览器的方式做这件事,你必须得到Flash或Java之类的帮助。

答案 3 :(得分:1)

HTML5中有W3C proposal for a File API。我针对this test运行了几个浏览器,发现Firefox 3.6和Chrome 6支持File Reader APILocal Storage。 Safari 5(在Windows上)支持Local Storage不支持 File Reader API。抱歉,我无法测试IE9,因为公司政策已经将IE6(?!)固定到位。