【发布时间】:2013-07-16 03:32:21
【问题描述】:
我有一个文件,其中包含我希望读入字符串的一列数字。但是,该文件不是使用我的硬盘上的位置导入的,而是通过 FileUpload 控件上传的。
我想知道是否有一种方法可以读取此文件中的文本。我已经查看了 StreamReader,但这需要我有一个作为文件路径名的字符串。
还有其他方法可以解决这个问题吗?
谢谢:)
【问题讨论】:
标签: c# asp.net file-upload
我有一个文件,其中包含我希望读入字符串的一列数字。但是,该文件不是使用我的硬盘上的位置导入的,而是通过 FileUpload 控件上传的。
我想知道是否有一种方法可以读取此文件中的文本。我已经查看了 StreamReader,但这需要我有一个作为文件路径名的字符串。
还有其他方法可以解决这个问题吗?
谢谢:)
【问题讨论】:
标签: c# asp.net file-upload
StreamReader 需要流,而不是路径。根据 MSDN (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.filecontent.aspx) 上的文档,您可以使用 FileUpload 控件的 FileContent 成员并将其提供给 StreamReader。
【讨论】:
假设您使用的是 ASP.NET(C# 只是一种编程语言),FileUpload 控件会将文件保存在服务器上可供会话使用的临时位置。
然后你要做的就是打开临时文件并读取它的内容(使用 StreamReader 或其他东西)
【讨论】:
这是重复的:Looping trough lines of txt file uploaded via FileUpload control
建议使用此解决方案,将 FileUpload.FileContent 传递给 StreamReader 并遍历内容:
{
FileUpload fu = FileUpload1;
if (fu.HasFile)
{
StreamReader reader = new StreamReader(fu.FileContent);
do
{
string textLine = reader.ReadLine();
// do your coding
//Loop trough txt file and add lines to ListBox1
}
while (reader.Peek() != -1);
reader.Close();
}
}
}
【讨论】: