我想编写一个具有两个按钮的Web应用程序,并直接从浏览器中打开它,使我可以打开两个简单的文本文件(使用“文件打开”对话框或类似的文件),然后继续读取这些文件的内容并将它们存储在两个字符串中。这里的关键点是,在运行时我不知道用于读取的确切文件,因此,由用户来选择文件。
目的是以后可以比较这两个字符串,但是我已经知道该怎么做。我的问题是-甚至有可能在Web应用程序内部执行此操作(即调用“文件打开”对话框以允许用户选择要读取的文件),还是安全限制或某些其他与Web应用程序相关的限制会阻止它从完成?
如果可能的话,我将欣赏一些示例代码,这些代码描述了如何打开文件以及如何将所选文件的内容读入字符串。另外,我想知道是否不可能,我应该考虑做一个桌面应用程序或尝试一种完全不同的方法。
谢谢!
最佳答案
可以,但是您不得不将两个文本文件都上传到服务器,然后将文件读入服务器端的字符串中。
您需要做的就是向页面添加两个单独的FileUpload
控件以及一个将文件发布到服务器的按钮。
如果您不希望刷新页面,则始终可以使用ASP.NET AJAX工具包中的AsyncFileUpload
控件通过AJAX进行比较。
更新资料
读取文件的内容应该相对容易(只要它们是纯文本):
var reader = new StreamReader(fileUploadControl.PostedFile.InputStream);
var contents = reader.ReadToEnd();