我创建了一个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>
答案 0 :(得分:1)
filePath来自客户端,在给定的文件路径上服务器上不应存在任何文件。
您需要阅读来自上传表单的Stream
而不是文件路径中的数据。
请参阅以下链接
http://msdn.microsoft.com/en-us/library/system.web.httprequest.inputstream.aspx