asp.NET上传文件到指定文件夹,ACCESS数据库,SQL数据库代码

/*

我修改了一天时间.终于找到门路了。呵呵
ACCESS中存放文件内容的字段类型为:OLE对象
SQL中存放文件内容的字段类型为:image
此代码为上传文件代码.梢后整理发布下载文件代码

代码设计实现功能:asp.NET上传文件到指定文件夹,ACCESS数据库,SQL数据库代码

已经测试文件格式 .TXT,JPG..MDB.GIF

*/

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
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.Data.OleDb;
using System.Data.SqlClient;
namespace WebApplication1.ManageFile
{
/// <summary>
/// ManageUploadFile 的摘要说明。
/// </summary>
public class ManageUploadFile : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.HtmlControls.HtmlInputFile file1;
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.CheckBox CheckBox1;
protected System.Web.UI.WebControls.Button Button4;
protected System.Web.UI.WebControls.Button Button5;
protected System.Web.UI.WebControls.Button Button3;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Button3.Click += new System.EventHandler(this.Button3_Click);
this.Button4.Click += new System.EventHandler(this.Button4_Click);
this.Button5.Click += new System.EventHandler(this.Button5_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void Button1_ServerClick(object sender, System.EventArgs e)
{
if(file1.PostedFile.FileName!="")
{
if(CheckBox1.Checked)
{


}
else
{
//上传文件到数据库中
string sUploadFileName=file1.PostedFile.FileName;
string strUploadFile=Server.MapPath(".")+"//"+DropDownList1.SelectedItem.Text.ToString()+"//";
sUploadFileName=sUploadFileName.Substring(sUploadFileName.LastIndexOf("//")).Replace("//","");
string sUploadFilePath=strUploadFile+sUploadFileName;
int sUploadFileLength=file1.PostedFile.ContentLength;
string sUploadFileType=file1.PostedFile.ContentType.ToString();


//AppDomain.CurrentDomain.BaseDirectory.ToString()站点跟目录
//file1.PostedFile.SaveAs(sUploadFilePath);

System.Byte[] Docbuffer = new byte[sUploadFileLength];
Stream objStream = file1.PostedFile.InputStream;
objStream.Read(Docbuffer,0,sUploadFileLength);

string DbName=Server.MapPath(".")+"//DataBase//HtmlFile.mdb";
string ConnectionString ="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + DbName;

string AccessSqlString="Insert Into UploadFiles(UploadFileName,UploadFileType,UploadFilePath,UploadFileLength,UploadFileContent) Values('" +sUploadFileName+ "','"+sUploadFileType+ "','" +sUploadFilePath+ "',"+sUploadFileLength+ ","+ Docbuffer + ")";

OleDbConnection myConnection =new OleDbConnection(ConnectionString);
myConnection.Open();
OleDbCommand myCommand =new OleDbCommand(AccessSqlString,myConnection);
myCommand.ExecuteNonQuery();
myConnection.Close();

string strUpfileResult="上传文件到数据库成功/r/n";
strUpfileResult=strUpfileResult+"文件名"+sUploadFileName+"/r/n";
strUpfileResult=strUpfileResult+"文件大小"+sUploadFileLength+"/r/n";
strUpfileResult=strUpfileResult+"文件格式"+sUploadFileType+"/r/n";

TextBox1.Text=strUpfileResult;
}
}
}

private void Button2_Click(object sender, System.EventArgs e)
{
string strCurrentDirectory=Server.MapPath(".");
DirectoryInfo di=new DirectoryInfo(strCurrentDirectory);
int dtotal=0;
if(DropDownList1.Items.Count!=0)
{
for(int j=DropDownList1.Items.Count-1;j>=0;j--)
{
DropDownList1.Items.RemoveAt(j);
}
}

for(int i=0;i<di.GetDirectories().Length;i++)
{
//subd=subd+"<br>"+di.GetDirectories().GetValue(i);
dtotal=dtotal+1;
DropDownList1.Items.Add(di.GetDirectories().GetValue(i).ToString());
}

}

private void Button3_Click(object sender, System.EventArgs e)
{
string sUploadFileName=file1.PostedFile.FileName;
string strUploadFile=Server.MapPath(".")+"//"+DropDownList1.SelectedItem.Text.ToString()+"//";
sUploadFileName=sUploadFileName.Substring(sUploadFileName.LastIndexOf("//")).Replace("//","");
string sPath=strUploadFile+sUploadFileName;
//AppDomain.CurrentDomain.BaseDirectory.ToString()站点跟目录
file1.PostedFile.SaveAs(sPath);
string sUploadFileLength=file1.PostedFile.ContentLength.ToString();
string sUploadFileType=file1.PostedFile.ContentType.ToString();

string strUpfileResult="上传文件成功/r/n";
strUpfileResult=strUpfileResult+"文件名"+sUploadFileName+"/r/n";
strUpfileResult=strUpfileResult+"文件大小"+sUploadFileLength+"/r/n";
strUpfileResult=strUpfileResult+"文件格式"+sUploadFileType+"/r/n";

TextBox1.Text=strUpfileResult;
}

private void Button4_Click(object sender, System.EventArgs e)
{

//上传文件到数据库中
string sUploadFileName=file1.PostedFile.FileName;
string strUploadFile=Server.MapPath(".")+"//"+DropDownList1.SelectedItem.Text.ToString()+"//";
sUploadFileName=sUploadFileName.Substring(sUploadFileName.LastIndexOf("//")).Replace("//","");
string sUploadFilePath=strUploadFile+sUploadFileName;
int sUploadFileLength=file1.PostedFile.ContentLength;
string sUploadFileType=file1.PostedFile.ContentType.ToString();


//AppDomain.CurrentDomain.BaseDirectory.ToString()站点跟目录
//file1.PostedFile.SaveAs(sUploadFilePath);

System.Byte[] Docbuffer = new byte[sUploadFileLength];
Stream objStream = file1.PostedFile.InputStream;
objStream.Read(Docbuffer,0,sUploadFileLength);

string DbName=Server.MapPath(".")+"//DataBase//HtmlFile.mdb";
string ConnectionString ="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + DbName;

//string AccessSqlString="Insert Into UploadFiles(UploadFileName,UploadFileType,UploadFilePath,UploadFileLength) Values('" +sUploadFileName+ "','"+sUploadFileType+ "','" +sUploadFilePath+ "',"+sUploadFileLength+")";
string AccessSqlString="Insert Into UploadFiles(UploadFileName,UploadFileType,UploadFilePath,UploadFileLength,UploadFileContent) Values('" +sUploadFileName+ "','"+sUploadFileType+ "','" +sUploadFilePath+ "',"+sUploadFileLength+ ",'"+ Docbuffer + "')";

OleDbConnection myConnection =new OleDbConnection(ConnectionString);
myConnection.Open();
OleDbCommand myCommand =new OleDbCommand(AccessSqlString,myConnection);
myCommand.ExecuteNonQuery();
myConnection.Close();

string strUpfileResult="上传文件到数据库成功/r/n";
strUpfileResult=strUpfileResult+"上传文件名"+sUploadFileName+"/r/n";
strUpfileResult=strUpfileResult+"上传文件大小"+sUploadFileLength+"/r/n";
strUpfileResult=strUpfileResult+"上传文件路径"+sUploadFilePath+"/r/n";
strUpfileResult=strUpfileResult+"上传文件格式"+sUploadFileType+"/r/n";
TextBox1.Text=strUpfileResult;

}

private void Button5_Click(object sender, System.EventArgs e)
{

//上传文件到数据库中
string sUploadFileName=file1.PostedFile.FileName;
string strUploadFile=Server.MapPath(".")+"//"+DropDownList1.SelectedItem.Text.ToString()+"//";


sUploadFileName=sUploadFileName.Substring(sUploadFileName.LastIndexOf("//")).Replace("//","");
string sUploadFilePath=strUploadFile+sUploadFileName;
int sUploadFileLength=file1.PostedFile.ContentLength;
string sUploadFileType=file1.PostedFile.ContentType.ToString();


//AppDomain.CurrentDomain.BaseDirectory.ToString()站点跟目录
//file1.PostedFile.SaveAs(sUploadFilePath);

System.Byte[] Docbuffer = new byte[sUploadFileLength];
Stream objStream = file1.PostedFile.InputStream;
objStream.Read(Docbuffer,0,sUploadFileLength);



//string strCon ="Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;";
//UID=sa,PWD=hNXQF222,Server=127.0.0.1,Database=Aspnet";
/*
SqlCommand myCommand = new SqlCommand(myExecuteQuery, myConnection);
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
*/


string strConn ="DATABASE=Aspuser;SERVER=localhost;UID=sa;PWD=hNXQF222;";
SqlConnection Conn = new SqlConnection(strConn);
Conn.Open();
string mySqlCommand = "INSERT INTO UploadFiles (UploadFileName,UploadFileType,UploadFilePath,UploadFileLength,UploadFileContent) VALUES (@UploadFileName,@UploadFileType,@UploadFilePath,@UploadFileLength,@UploadFileContent)";

SqlCommand CmdObj = new SqlCommand(mySqlCommand, Conn);
CmdObj.Parameters.Add("@UploadFileName",SqlDbType.VarChar,50).Value = sUploadFileName;
CmdObj.Parameters.Add("@UploadFileType",SqlDbType.VarChar,50).Value = sUploadFileType;
CmdObj.Parameters.Add("@UploadFilePath",SqlDbType.VarChar,200).Value = sUploadFilePath;
CmdObj.Parameters.Add("@UploadFileLength",SqlDbType.BigInt,8).Value = sUploadFileLength;
CmdObj.Parameters.Add("@UploadFileContent",SqlDbType.Image).Value = Docbuffer;
CmdObj.ExecuteNonQuery();

Conn.Close();

string strUpfileResult="上传文件到数据库成功/r/n";
strUpfileResult=strUpfileResult+"上传文件名"+sUploadFileName+"/r/n";
strUpfileResult=strUpfileResult+"上传文件大小"+sUploadFileLength+"/r/n";
strUpfileResult=strUpfileResult+"上传文件路径"+sUploadFilePath+"/r/n";
strUpfileResult=strUpfileResult+"上传文件格式"+sUploadFileType+"/r/n";
TextBox1.Text=strUpfileResult;
}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HttpUploader4全面升级了文件IO组件。新的IO组件在处理磁盘中的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得HttpUploader4在处理TB级数据时能够拥有闪电般的速度。 新的IO组件赋予了HttpUploader4更强的大数据处理能力。现在HttpUploader4在对GB级文件进行MD5校验时速度提高了4倍。同时CPU占用率更低。 HttpUploader4更加注重对硬盘的保护,在HttpUploader4中不再直接对文件进行I/O操作,而是在内存中对文件进行操作,所以不仅极大的减少了对硬盘的读写次数,同时速度却变的更快了。 借助于HttpUploader4企业能够帮助用户更加轻松的处理工作中的文件,让用户与用户之间的沟通更加的高效。从根本上提高企业竞争力。 考虑到不同的企业使用的开发平台不同,我们已经为企业开发人员提供了完整的与数据库相结合的示例(ASP.NET,JSP,PHP)。开发人员能够非常容易的在自已的系统中实现断点续传功能。 产品特点如下: 1. 为TB级文件提供稳定传输功能。 2. 优化MD5组件,文件扫描速度提升70%。 3. 保护磁盘,上传超大文件时,磁盘IO次数降低50%。 4. 采用全新设计IO组件,上传任意文件大小时始终占用128KB内存。 5. 支持文件及文件夹拖拽上传功能。 6. 支持文件批量上传。 7. 支持文件夹上传。 8. 基于标准HTTP协议。 9. 免费提供JavaScript SDK包,方便您将插件快速集成到已有网站中。 支持语言:PHP,JSP,ASP,ASP.NET(C#),ASP.NET(VB),C++,VC,VC.NET,VB,VB.NET,C#,C#.NET,Delphi,C++Builder 支持平台:Visual Studio 6.0/2002/2003/2005/2008/2010,C++ Builder 6.0/2009/2010,Delphi 7/2009,Visual Basic 6.0/2008,MyEclipse8.x 支持脚本:JavaScript,VBScript 支持服务器:Windows NT,Windows 2003,Windows XP,Windows Vista,Windows 7,Linux,Unix 支持浏览器:IE6,IE7,IE8,360安全浏览器,QQ浏览器,搜狐浏览器,Maxthon(遨游)浏览器1.X,Maxthon(傲游)浏览器2.x 支持文件大小:2G~8EB(1EB=102PB,1PB=1024TB,1TB=1024GB) 支持文件类型:任意类型 版权所有 2009-2012 武汉命运科技有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webplug/http-uploader3/index.aspx 在线演示:http://www.ncmem.com/products/http-uploader3/demo/index.html 产品介绍:http://www.cnblogs.com/xproer/archive/2012/05/29/2523757.html 开发文档-ASP:http://www.cnblogs.com/xproer/archive/2012/02/17/2355458.html 开发文档-PHP:http://www.cnblogs.com/xproer/archive/2012/02/17/2355467.html 开发文档-JSP:http://www.cnblogs.com/xproer/archive/2012/02/17/2355462.html 开发文档-ASP.NET:http://www.cnblogs.com/xproer/archive/2012/02/17/2355469.html 升级日志:http://www.cnblogs.com/xproer/archive/2012/02/17/2355449.html 示例下载:http://www.ncmem.com/download/HttpUploader4-demo.rar 文档下载:http://www.ncmem.com/download/HttpUploader4-doc.rar 镜像下载(DBank):cab安装包,开发文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值