从内存中读取文件的第一行

1 c# text file

我有一个制表符分隔的文本文件,我需要上传到安全文件夹,以便SSIS导入SQL Server.该文件将由外部用户通过Web应用程序上传.

我的挑战是,在允许我进入安全文件夹之前,我需要检查此文件中的某些内容.即我需要确保用户具有特定列.

如果我将文件保存到Web应用程序中的文件夹,我可以这样做.但是,文件中数据的性质使我们不希望将此文件放在安全文件夹以外的任何位置.我也不能将它直接放在这个文件夹中,因为SSIS包设置为在文件显示时立即触发.

我需要做的是找到一种方法,如果有的话,解析内存中的文件,如果它通过所有检查,将其上传到安全文件夹.

我正在使用C#.NET和FileUpload Control.

到目前为止,我的搜索包含了各种信息,但它们都需要先将文件保存到某个地方,然后再使用它.

非常感谢您的参与.如果有人能指出我可以查看的对象或代码,我将非常感激.

Ada*_*son 6

而不是调用SaveAs,使用该FileContent属性作为a访问文件的内容Stream,然后您可以在手动保存之前执行任何所需的处理.

例如,像这样:

string data;

using(StreamReader reader = new StreamReader(fileUpload.FileContent))
{
    data = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)

data变量现在包含文件的内容作为字符串.您可以执行任何您喜欢的处理,然后将其保存(或不保存)到适当的位置.