是否可以在C#ASP.NET Web应用程序中执行此操作?

Gon*_*ght 2 c# asp.net web-applications

我想编写一个Web应用程序,它有两个按钮,直接从浏览器中允许我打开两个简单的文本文件(使用文件打开对话框或类似的东西),然后继续读取这些文件的内容和将它们存储在两个字符串中.这里的关键点是,用于从中读取的确切文件在运行时是未知的,因此用户可以选择文件.

我的目标是能够稍后比较这两个字符串,但那部分我已经知道该怎么做了.我的问题是这样 - 甚至可以在Web应用程序内部执行此操作(即调用"文件打开"对话框以允许用户选择要读取的文件),或者安全限制或某些其他与Web应用程序相关的约束会阻止它从完成?

如果可能的话,我会很感激一些示例代码,用于描述如何打开文件以及如何将所选文件的内容读入字符串.Othwerwise,我想知道它是否不可能,我应该考虑做一个桌面应用程序或尝试完全不同的方式.

谢谢!

Jus*_*ner 6

这是可能的,但你最终必须将两个文本文件上传到服务器并将文件读入服务器端的字符串.

您需要做的就是FileUpload向页面添加两个单独的控件以及一个将文件发布到服务器的按钮.

如果您不想刷新页面,可以使用AsyncFileUploadASP.NET AJAX Toolkit中的控件通过AJAX进行比较.

更新

读取文件的内容应该相对容易(只要它们是纯文本):

var reader = new StreamReader(fileUploadControl.PostedFile.InputStream);
var contents = reader.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)