在托管应用程序中读取CSV文件

时间:2015-04-20 16:21:06

标签: asp.net asp.net-mvc-4 csv

我创建了一个MVC ASP.Net应用程序,并在IIS中托管。我的部分应用允许用户上传csv文件。然后需要从csv读取数据并将其读入要在别处使用的对象。

我遇到的问题是在IIS中托管时无法读取文件。这是我的代码:

            using (StreamReader CsvReader = new StreamReader(filePath))
            {
                MessageHandler.NewNote("Opened CSV Reader");
                string inputLine = "";
                int lineNumber = 0;     
                while ((inputLine = CsvReader.ReadLine()) != null && !string.IsNullOrEmpty(inputLine))
                {
                    //Do something here
                }
            }

有人可以告诉我如何让这个工作。使用以下上载表单生成文件路径:

    <div id="UploadForm">
        <% using (Html.BeginForm("FileUpload", "ImportExport", Model,
                FormMethod.Post, new { enctype = "multipart/form-data" }))
    {%>
        <input name="uploadFile" type="file" accept=".csv" style="width:70%;" />
        <input type="submit" value="Upload File" />               
        <%} %>
    </div>

1 个答案:

答案 0 :(得分:1)

filePath来自客户端,在给定的文件路径上服务器上不应存在任何文件。

您需要阅读来自上传表单的Stream而不是文件路径中的数据。

请参阅以下链接

http://msdn.microsoft.com/en-us/library/system.web.httprequest.inputstream.aspx