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

access|asp.net|上传|数据|数据库

/*

我修改了一天时间.终于找到门路了。呵呵
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;
  }
 }
}
 

时间: 2024-11-02 06:29:08

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

asp.net 上传或下载当文件名包含有特殊字符&amp;quot;#&amp;quot;的处理_实用技巧

如类似以下的代码: 复制代码 代码如下: Uri uri = new Uri(targetUrl);//targetUrl对应文件的绝对路径 System.Net.HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); request.Method = "PUT"; request.Credentials = System.Net.CredentialCache.DefaultCredentials; reque

如何上传电子杂志(exe文件)web开发/asp.net

问题描述 如何上传电子杂志(exe文件)web开发/asp.net 解决方案 解决方案二:楼主试试这个控件:此控件是基于标准HTTP协议实现的文件上传功能.优势是扩展性非常好,整合简单,支持批量上传文件和上传文件夹功能,适合各种简单WEB项目.另外一个特点是支持自动上传指定的本地文件.单文件上传演示上传本地文件代码使用步骤如下:1.调用AddFile函数添加本地文件,注意路径需要使用双斜框(\)2.调用PostFirst函数开始上传文件.<scripttype="text/javascri

ASP.NET上传大文件控件

asp.net|控件|上传 这段时间写了个asp.net 上传大文件控件.经过测试,在ie中可显示进度条.特此共享,望广大网友多提意见. 大文件上传控件(包含进度条) 使用说明如下:      <summary>     上传进度条控件     </summary>     <example>     Web.config 配置     <?xml version="1.0"?>    <configuration>     

ASP AspUpload上传文件示例代码

  AspUpload上传组件在ASP中使用广泛,对于一些ASP新手来说,可能还不知道如何用,AspUpload不仅可以上传图片,还可以上传其它格式的文件,比如TXT.rar,甚至是exe等,只要你不做限制,它就只管上传,因此来说,为了安全考虑,我们上传前都会做些限制,今天这个例子,就是不允许上传asp,asa,aspx格式的文件,当然,这里的扩展名你可根据自己需要添加,以下代码是实现上传的关键代码,供新手参考.

ASP.NET上传文件的简单例子

  一个较简单的ASP.NET文件上传程序的代码,可以上传RAR.ZIP.TXT.JPG.GIF.DOC等格式的文件.你可以直接复制代码保存成aspx文件即可测试.备注:本代码是使用VB.NET编写,在WIN2003+IIS(安装有.NET3.5框架)中调试通过. 文件上传时可检测文件名称.文件大小和文件类型,暂时没有做上传类型的限制,你可以自己添加类型限制.

asp.net上传execl文件后,在页面上加载显示

 本篇文章主要是对asp.net上传execl文件后,在页面上加载显示(示例代码)进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下:     #region 上传Execl文件     protected void Button1_Click(object sender, EventArgs e)     {         if (FileUpload1.HasFile)         {             string NewFileName = string.E

组件-如何通过页面将指定类型的文件上传到服务器指定目录?

问题描述 如何通过页面将指定类型的文件上传到服务器指定目录? 最近我们部门在做一个项目的,有大量的页面需要将指定的文件上传到服务器,且文件类型和目录可灵活定义,并且上传过程中显示上传进度,支持多文件的上传.取消.删除操作.请问有没有现成的组件可以用,如果自己写需要考虑到各浏览器的兼容问题,担心考虑的不全面,所以是否有可用的工具拿过来直接用. 解决方案 什么语言什么环境没有说. 是web的么?看看这个效果如何http://www.cnblogs.com/zengxiangzhan/archive/

Asp.Net + Flash 上传的组件,文件上传后返回值问题,急!

问题描述 我从网上下载了一个Asp.Net+Flash上传的组件,自己改了下,现在已实现以下功能: 1.上传多个文件: 2.定义上传各种类型的文件: 3.定义上传路径: 4.支持上传大文件. 主页面:Default.aspx(页面链接包含了:Default.aspx.cs.upload.swf.UploadVideo.ashx) 上传文件页面:UploadVideo.ashx 现在有个很大的问题:就是UploadVideo.ashx页面上传文件后,要如何将文件名称(处理结果)返回到Default

asp.net上传与删除文件代码

asp.net上传与删除文件代码我们用vb 版的形式来做了, 本教程将展示我们可以如何上传文件到网络服务器,并使用GridView控制删除文件以及. VB的版本. 常常,我们要允许上传档案到Web服务器,使新的内容载入更快和更容易使用FTP以上. ASP.NET使这一方便我们这样做,但会发生什么变化,我们要删除的文件从网络服务器吗?那么ASP.NET中,当然,有一个答案为这件事的.我们可以使用GridView来显示文件在某一目录,并允许用户删除这些文件. 首先,我们需要下面的组装参考: 进口Sy