ASP.NET上传文件并记录到数据库

ASP.NET上传文件并记录到数据库

(2011-07-19 11:02:07)

转载

标签:

杂谈

分类: asp.net学习

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
    protected
void Page_Load(object sender, EventArgs e)
    {

}
    protected
void Button1_Click(object sender, EventArgs e)
    {
       
if (FileUpload1.PostedFile.FileName == string.Empty)
       
{
           
Response.Write("<script>alert(‘请选择要上传的文件!‘);</script>");

}
       
else
       
{
           
//获取要上传的文件的信息
           
string filepath = FileUpload1.PostedFile.FileName;//文件路径
           
string oldfilename =
filepath.Substring(filepath.LastIndexOf("\\")+1);//文件名
           
string FileExtension = Path.GetExtension(oldfilename);
//文件的扩展名
           
int filelength = (int)oldfilename.Length;//文件名长度
           
//随机生成文件名
           
Random Rnd = new Random();
           
int strRnd = Rnd.Next(1, 99);
           
string newfilename = DateTime.Now.Year.ToString() +
DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() +
DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() +
DateTime.Now.Second.ToString() + strRnd.ToString() +
FileExtension.ToLower();
           
//将文件上传到以当前日期命名的文件夹中
           
string UpLoadName =
DateTime.Now.Year.ToString()+"-"+DateTime.Now.Month.ToString()+"-"+DateTime.Now.Day.ToString();

bool FileUploadPathExists =
File.Exists(Server.MapPath("UpLoad"+"\\"+UpLoadName));
           
//指定文件夹不存在,如果不存在就创建该文件夹
           
if (!FileUploadPathExists)
           
{
               
Directory.CreateDirectory(Server.MapPath("UpLoad"+"\\"+UpLoadName));
           
}
           
//保存上传的文件
           
string savapath = Server.MapPath("UpLoad" + "\\" +
UpLoadName);//保存路径
           
string savapath1 = "UpLoad" + "\\" + UpLoadName +"\\"+
newfilename;//保存路径
           
FileUpload1.PostedFile.SaveAs(savapath + "\\" + newfilename);
           
//连接数据库字符串
           
string connStr = @"Data
Source=.\SQLEXPRESS;AttachDbFilename=D:\Web_Test\WebSite4\App_Data\Database.mdf;Integrated
Security=True;User Instance=True";
           
SqlConnection conn = new SqlConnection(connStr);
           
conn.Open();
           
string cmdtext = "insert into
T_UpFile(FileName,FileLength,FileType,FilePath) values(‘" +
newfilename + "‘,‘" + filelength + "‘,‘" + FileExtension +
"‘,‘"+savapath1+"‘)";
           
SqlCommand cmd = new SqlCommand(cmdtext, conn);
           
try
           
{
               
cmd.ExecuteNonQuery();
               
System.Text.StringBuilder strMsg = new
System.Text.StringBuilder();
               
strMsg.Append("<font
color=green>文件被成功添加到数据库中,详细信息如下所示:<br>");

strMsg.Append("上传的文件的类型为:" +
this.FileUpload1.PostedFile.ContentType.ToString() +
"<br>");
               
strMsg.Append("客户端文件的地址为:" + filepath +
"<br>");
               
strMsg.Append("上传文件的文件名为:" + newfilename +
"<br>");
               
strMsg.Append("文件上传到服务器的路径为:" + savapath +
"<br>");
               
strMsg.Append("上传文件的扩展名为:" + FileExtension +
"<br>");
               
strMsg.Append("上传文件的大小为:" + FileUpload1.PostedFile.ContentLength +
"个字节</font>");
               
this.Label1.Text = strMsg.ToString();
           
}
           
catch (Exception error)
           
{
               
Response.Write(error.ToString());
           
}
           
finally
           
{
               
conn.Close();
           
}
       
}
    }
}
//数据库设计

create T_UpFile

(

FileID int identity(100000,1) primary key,

FileName varchar(50),

FileLength int ,

FileType varchar(20),

FilePath varchar(MAX),

)

时间: 2024-12-16 12:32:08

ASP.NET上传文件并记录到数据库的相关文章

ASP.NET 上传文件以及点击下载

需求说明: 实际项目中,有必要上传附件(包括图片.文档.解压文件等)对数据库数据完善,这里实现的功能就是,上传附件到数据库,然后从数据读出来之后,可以"点击下载"之前上传的附件内容. asp.net代码如下: //用FileUpload控件,上传附件之后,导入数据库操作 protected void btnUp_Click(object sender, EventArgs e) { DbSql db = new DbSql(); //数据操作类 string fileName = &q

Asp.Net:上传文件

Asp.Net中很方便就能做个上传,例如做一个图片的上传: <asp:FileUpload ID="picUpload" runat="server" /> <asp:Button ID="btnUpload" runat="server" Text="上传" CssClass="btn" onclick="btnUpload_Click" Caus

朋友封装的一个ASP.NET上传文件的方法

自我感觉封装得还不错!!! 代码如下: C#代码   #region 上传文件的方法 /// <summary> /// 上传文件方法 /// </summary> /// <param name="myFileUpload">上传控件ID</param> /// <param name="allowExtensions">允许上传的扩展文件名类型,如:string[] allowExtensions = 

朋友封装的一个ASP.NET上传文件的方法(转)

#region 上传文件的方法 /// <summary> /// 上传文件方法 /// </summary> /// <param name="myFileUpload">上传控件ID</param> /// <param name="allowExtensions">允许上传的扩展文件名类型,如:string[] allowExtensions = { ".doc", ".

ASP.NET上传文件的几种方法

//上传文件实例 if (fileDealer.HasFile)//判断文件是否存在        {            string filepath = "";            try            {                string path = fileDealer.FileName;                string filename = path.Split('.')[0] + "_" + DateTime.Now

ASP.NET上传文件的三种基本方法

ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关键代码: [html] view plain copy <form id="form1" runat="server"> <asp:FileUpload ID="FileUpload1" runat="server&quo

EXTJS+ASP.NET上传文件带实时进度条代码

一,文件夹 二,upLoad.cs是继承IHttpModule的类: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Text; using System.IO; using System.Reflection; using System.Globalization; using System.Web.Hosting; /// <summary>

asp.net上传文件超过了最大请求长度[转]

错误消息:超过了最大请求长度 错误原因:asp.net默认最大上传文件大小为4M,运行超时时间为90S. 解决方案 1. 修改web.config文件可以改变这个默认值 <configuration> <system.web> <httpRuntime maxRequestLength="1048576" executionTimeout="3600" /> </system.web> <configuratio

asp.net上传文件

第一种:通过FTP来上传文件 首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了.代码如下: <%@ Page Language="C#" EnableViewState="false"%> <%@ Import Namespace="System.Net" %> <%@ Import Namespace="Syst