C# 在asp.NETC中如何用文件字节数组填充数据表#
首先,我用类型为C# 在asp.NETC中如何用文件字节数组填充数据表#,c#,asp.net,C#,Asp.net,首先,我用类型为system.byte[]的单列创建数据表,并使用FileUploader.FileByte从FileUploader插入字节数组,最后,当我想将字节数组转换为文件时,我使用file.writealbytes()在这里,我给出了使用新文件名和字节数组存储文件的路径 if (ViewState["datAdminDocument"] == null)// if data table id null { datAdminDocument = new DataTable();
system.byte[]
的单列创建数据表,并使用FileUploader.FileByte
从FileUploader
插入字节数组,最后,当我想将字节数组转换为文件时,我使用file.writealbytes()
在这里,我给出了使用新文件名和字节数组存储文件的路径
if (ViewState["datAdminDocument"] == null)// if data table id null
{
datAdminDocument = new DataTable(); //add new column in data table
datAdminDocument.Columns.Add("FileBytes", typeof(System.Byte[])); //column for file byte array System.Byte[] is use fro byte array
ViewState["datAdminDocument"] = datAdminDocument;// viewstate use for prevent the data in datatable
}
else
{
datAdminDocument = ViewState["datAdminDocument"] as DataTable; // if data table is not null then else condition execute
}
DataRow drow = null;// drow is a null object for datarow
drow = datAdminDocument.NewRow();
drow[0] = AdminFileUpload.FileBytes; //file byte array insert in data table row
datAdminDocument.Rows.Add(drow); //add row in data table
datAdminDocument.AcceptChanges(); //change in data table
GridAdminUploadDocument.DataSource = datAdminDocument;//data table bind with gird
GridAdminUploadDocument.DataBind();
ViewState["datAdminDocument"] = datAdminDocument; // after that now i want retrive byte array form data table by using for loop
for (i = 0; i < datAdminDocument.Rows.Count; i++) //for loop use for retrive byte array from data table column.
{
File.WriteAllBytes(Server.MapPath("~/AdminDocument/a.jpg"),
Encoding.Unicode.GetBytes(datAdminDocument.Rows[i][0].ToString().Trim());
} // a.jpg is a new file name
if(ViewState[“datAdminDocument”]==null)//如果数据表id为null
{
datAdminDocument=newdatatable();//在数据表中添加新列
datAdminDocument.Columns.Add(“FileBytes”,typeof(System.Byte[]);//文件字节数组系统的列。Byte[]用于字节数组
ViewState[“datAdminDocument”]=datAdminDocument;//ViewState用于阻止datatable中的数据
}
其他的
{
datAdminDocument=ViewState[“datAdminDocument”]作为DataTable;//如果数据表不为null,则执行else条件
}
DataRow drow=null;//drow是datarow的空对象
drow=datAdminDocument.NewRow();
drow[0]=AdminFileUpload.FileBytes//在数据表行中插入文件字节数组
datAdminDocument.Rows.Add(drow)//在数据表中添加行
datAdminDocument.AcceptChanges()//数据表中的更改
GridAdminUploadDocument.DataSource=数据管理文档//数据表与网格绑定
GridAdminUploadDocument.DataBind();
ViewState[“datAdminDocument”]=datAdminDocument;//之后,现在我想通过使用for循环检索字节数组表单数据表
for(i=0;i
调试代码时会发生什么?编译错误?异常?指定文件夹中的文件是传输但未打开的?您尝试打开文件的内容是什么?file.writealBytes(Server.MapPath(“~/AdminDocument/a.jpg”)、Encoding.Unicode.GetBytes(datAdminDocument.Rows[i][0]。ToString().Trim();不能使用文件。WriteAllBytes
打开文件…从msdn创建新文件,将指定的字节数组写入文件,然后关闭文件。如果目标文件已存在,则会覆盖该文件。