如何利用一个FILE控件,一次上传多个附件到数据库
2003-07-03 14:04
686 查看
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Configuration;
namespace bjoffice
{
/// <summary>
/// upfiles 的摘要说明。
/// </summary>
public class upfiles : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.DropDownList files;
protected System.Web.UI.HtmlControls.HtmlInputFile myFile;
protected System.Web.UI.WebControls.Button Button3;
protected static DataTable upfiles1;
protected static SqlDataAdapter upfiles2;
public void CreatTable()
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlDataAdapter myCommand = new SqlDataAdapter("select FileName,FileType,FileLen,FileData,[ID] from Accessories where [ID]<-1", myConnection);
DataSet mydataset = new DataSet();
myCommand.Fill(mydataset, "Accessoriestable");
upfiles2 = myCommand;
upfiles1 = mydataset.Tables["Accessoriestable"];
}
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Button3.Click += new System.EventHandler(this.Button3_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
if (upfiles1 == null)
{
CreatTable();
}
if( myFile.PostedFile.FileName != "" )
{
string filename1 = Path.GetFileName(myFile.PostedFile.FileName) ;
//if(upfiles1.Rows.Find(filename)==null)
DataRow[] myrow=upfiles1.Select("FileName='"+filename1.ToString()+"'");
if(myrow.Length ==0)
{
int filelen = myFile.PostedFile.ContentLength;
string filetype = myFile.PostedFile.ContentType;
Stream fstream = myFile.PostedFile.InputStream;
byte[] filedata = new byte[filelen];
fstream.Read(filedata,0,filelen);
DataRow dr = upfiles1.NewRow();
dr[0] = filename1;
dr[1] = filetype;
dr[2] = filelen;
dr[3] = filedata;
upfiles1.Rows.Add( dr );
files.DataSource = upfiles1;
files.DataBind();
}
}
else
{
Page.RegisterStartupScript("script", "<script>alert('请选择文件!');</script>");
}
}
private void Button2_Click(object sender, System.EventArgs e)
{
if(files.SelectedIndex>=0)
{
string fname=files.SelectedItem.Text;
DataRow[] myrow=upfiles1.Select("FileName='"+fname+"'");
if(myrow.Length>0)
upfiles1.Rows.Remove(myrow[0]);
files.DataSource=upfiles1;
files.DataBind();
}
else
{
Page.RegisterStartupScript("script", "<script>alert('请选择文件!');</script>");
}
}
private void Button3_Click(object sender, System.EventArgs e)
{
if( upfiles1.Rows.Count > 0 )
{
SqlCommandBuilder myscb =new SqlCommandBuilder(upfiles2);
upfiles2.InsertCommand=myscb.GetInsertCommand();
upfiles2.Update(upfiles1);
}
upfiles1 = null;
}
}
}
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Configuration;
namespace bjoffice
{
/// <summary>
/// upfiles 的摘要说明。
/// </summary>
public class upfiles : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.DropDownList files;
protected System.Web.UI.HtmlControls.HtmlInputFile myFile;
protected System.Web.UI.WebControls.Button Button3;
protected static DataTable upfiles1;
protected static SqlDataAdapter upfiles2;
public void CreatTable()
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlDataAdapter myCommand = new SqlDataAdapter("select FileName,FileType,FileLen,FileData,[ID] from Accessories where [ID]<-1", myConnection);
DataSet mydataset = new DataSet();
myCommand.Fill(mydataset, "Accessoriestable");
upfiles2 = myCommand;
upfiles1 = mydataset.Tables["Accessoriestable"];
}
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Button3.Click += new System.EventHandler(this.Button3_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
if (upfiles1 == null)
{
CreatTable();
}
if( myFile.PostedFile.FileName != "" )
{
string filename1 = Path.GetFileName(myFile.PostedFile.FileName) ;
//if(upfiles1.Rows.Find(filename)==null)
DataRow[] myrow=upfiles1.Select("FileName='"+filename1.ToString()+"'");
if(myrow.Length ==0)
{
int filelen = myFile.PostedFile.ContentLength;
string filetype = myFile.PostedFile.ContentType;
Stream fstream = myFile.PostedFile.InputStream;
byte[] filedata = new byte[filelen];
fstream.Read(filedata,0,filelen);
DataRow dr = upfiles1.NewRow();
dr[0] = filename1;
dr[1] = filetype;
dr[2] = filelen;
dr[3] = filedata;
upfiles1.Rows.Add( dr );
files.DataSource = upfiles1;
files.DataBind();
}
}
else
{
Page.RegisterStartupScript("script", "<script>alert('请选择文件!');</script>");
}
}
private void Button2_Click(object sender, System.EventArgs e)
{
if(files.SelectedIndex>=0)
{
string fname=files.SelectedItem.Text;
DataRow[] myrow=upfiles1.Select("FileName='"+fname+"'");
if(myrow.Length>0)
upfiles1.Rows.Remove(myrow[0]);
files.DataSource=upfiles1;
files.DataBind();
}
else
{
Page.RegisterStartupScript("script", "<script>alert('请选择文件!');</script>");
}
}
private void Button3_Click(object sender, System.EventArgs e)
{
if( upfiles1.Rows.Count > 0 )
{
SqlCommandBuilder myscb =new SqlCommandBuilder(upfiles2);
upfiles2.InsertCommand=myscb.GetInsertCommand();
upfiles2.Update(upfiles1);
}
upfiles1 = null;
}
}
}
相关文章推荐
- 如何利用一个FILE控件,一次上传多个附件到数据库
- ASP.NET中利用ICSharpCode.SharpZipLib压缩多个上传附件成一个压缩包直接保存在数据库中
- [导入]在asp.net中利用FileUplad控件从同一个页面上传多个文件
- 如何通过脚本给 文件上传输入的file控件赋值
- 利用.NET的File控件上传文件的最终解决方案
- C# 如何后台判断 file控件上传的文件类型
- 如何在一个页面添加多个文件上传控件
- 利用.NET的File控件上传文件的最终解决方案(个人版)
- 利用.NET的File控件上传文件的最终解决方案(个人版)
- 一个简单的上传附件,并显示附件的方法.(JS的DOM操作取得input file的值.)
- 如何利用一个数据库中间件扩展MySQL集群——kingshard使用指南
- 如何利用一个数据库中间件扩展MySQL集群――kingshard使用指南
- ionic—cordova如何一次上传多张图片(类似input file提交表单)
- 如何通过HtmlInputFile控件上传文件的类
- xls上传,导入!!!!!利用struts的FormFile,并导入插入数据库
- 利用MYSQL的C API编程,如何确定一个数据库/表是否存在???
- 如何设置上传文件控件 input type="file" 的 默认值
- 数据库设计——如何利用一个整数型字段为用户打上63个标
- 如何利用ASP把图片上传到数据库
- input file控件限制上传文件类型 网页上添加一个input file HTML控件: 1 <input id="File1" type="file" /> 默认是这样的,所有文件类