我有一个包含一列数字的文件,我希望将其读入字符串。但是,该文件不是使用我的硬盘上的位置导入的,而是通过FileUpload控件上传的。
我想知道是否有一种方法可以在此文件的文本中阅读。我查看了StreamReader,但这要求我有一个字符串,它是文件的路径名。
还有另一种解决方法吗?
谢谢:)
答案 0 :(得分:3)
StreamReader
需要流,而不是路径。根据MSDN(http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.filecontent.aspx)上的文档,您可以使用FileUpload控件的FileContent成员并将其提供给StreamReader。
答案 1 :(得分:1)
假设您正在使用ASP.NET(C#只是一种编程语言),FileUpload控件会将文件保存在服务器上一个临时位置,该位置可供您的会话使用。
然后你所要做的就是打开临时文件并读取它的内容(使用StreamReader或其他东西)
答案 2 :(得分:1)
这是:Looping trough lines of txt file uploaded via FileUpload control
的副本建议使用此解决方案,将FileUpload.File内容传递给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();
}
}
}