C# 在ASP.NET中上载文本文件
我有一个网页,用户可以在上面上传文本文件(但是文本文件,即扩展名为.txt的文件,可能有多种编码,例如ASCII、UTF8、UNICODE等等),我试图在将文件保存到磁盘之前验证内存中的内容,如果内容无效,我就不保存文件。我正在从文件上载控件(fileUpload1.FileContent,返回字节流)读取内容。在.NET中是否有简单的方法将上载文件的内容转换为字符串(即从fileUpload1.FileContent返回的字节流),或者我必须先检查第一个字节以检测编码C# 在ASP.NET中上载文本文件,c#,asp.net,C#,Asp.net,我有一个网页,用户可以在上面上传文本文件(但是文本文件,即扩展名为.txt的文件,可能有多种编码,例如ASCII、UTF8、UNICODE等等),我试图在将文件保存到磁盘之前验证内存中的内容,如果内容无效,我就不保存文件。我正在从文件上载控件(fileUpload1.FileContent,返回字节流)读取内容。在.NET中是否有简单的方法将上载文件的内容转换为字符串(即从fileUpload1.FileContent返回的字节流),或者我必须先检查第一个字节以检测编码 谢谢我想你可以做到: S
谢谢我想你可以做到:
StreamReader reader = new StreamReader(fileUpload1.FileContent);
string text = reader.ReadToEnd();
文本文件格式示例
代码#姓名#父亲姓名#出生日期#地点#手机号码
1#XYZ#YYY#09-06-89#LKO#999999
受保护的void btnUpload\u单击(对象发送方,事件参数e)
{
如果(第页有效)
{
bool logval=true;
如果(logval==true)
{
if(fuUploadExcelName.HasFile)
{
字符串img_1=fuUploadExcelName.PostedFile.FileName;
字符串img_2=System.IO.Path.GetFileName(img_1);
字符串extn=System.IO.Path.GetExtension(img_1);
字符串frstfilenamepart=“Text”+DateTime.Now.ToString(“ddmmyyyhyhmmss”);/*用于存储在所需路径中的文件名*/
UploadExcelName.Value=frstfilenamepart+extn;
fuUploadExcelName.SaveAs(Server.MapPath(“~/Text/”)+“/”+UploadExcelName.Value);/*上载的文本文件将存储在此路径中*/
字符串文件名=UploadExcelName.Value;
字符串filePath=Server.MapPath(“~/Text/”+文件名);
StreamReader文件=新的StreamReader(文件路径);
string[]ColumnNames=file.ReadLine().Split(“#”)/*从textfile读取数据*/
DataTable dt=新的DataTable();
foreach(ColumnNames中的字符串列)
{
dt.Columns.Add(Column);/*添加列/
}
字符串换行符;
而((NewLine=file.ReadLine())!=null)
{
DataRow dr=dt.NewRow();
string[]values=NewLine.Split('#');
for(int i=0;i
虽然此代码可以回答问题,但最好解释如何解决问题,并提供代码作为示例或参考。只有代码的答案可能会令人困惑,并且缺乏上下文。
Example of text file format
Code#Name#Fathername#DOB#Location#MobileNo
1#XYZ#YYY#09-06-89#LKO#9999999999
protected void btnUpload_click(object sender, EventArgs e)
{
if (Page.IsValid)
{
bool logval = true;
if (logval == true)
{
if (fuUploadExcelName.HasFile)
{
String img_1 = fuUploadExcelName.PostedFile.FileName;
String img_2 = System.IO.Path.GetFileName(img_1);
string extn = System.IO.Path.GetExtension(img_1);
string frstfilenamepart = "Text" + DateTime.Now.ToString("ddMMyyyyhhmmss");/*Filename for storing in Desired path*/
UploadExcelName.Value = frstfilenamepart + extn;
fuUploadExcelName.SaveAs(Server.MapPath("~/Text/") + "/" + UploadExcelName.Value);/*Uploaded text file will be store at this path*/
string filename = UploadExcelName.Value;
string filePath = Server.MapPath("~/Text/" + filename);
StreamReader file = new StreamReader(filePath);
string[] ColumnNames = file.ReadLine().Split('#');/*read data from textfile*/
DataTable dt = new DataTable();
foreach (string Column in ColumnNames)
{
dt.Columns.Add(Column);/*adding the columns/
}
string NewLine;
while ((NewLine = file.ReadLine()) != null)
{
DataRow dr = dt.NewRow();
string[] values = NewLine.Split('#');
for (int i = 0; i < values.Length; i++)
{
dr[i] = values[i].TrimEnd();
}
dt.Rows.Add(dr);
}
file.Close();
grdview.DataSource = dt;/*make datasouce from text file*
grdview.DataBind();/*binding the grid*/
}
}
}
}