ASP.net 2.0上传图片方法



上传图片,一般我们常见的两种方法,一种是把图片文件传到服务器上所指定的文件夹内。写到数据库的是图版相到路迳而于,

还有一种方法是把图版转成二进制数把再写到数据库。

小弟现在写的是前者,如果对后者感兴趣,我们再讨论,

控件 Fileupload textbox iameg

 新建表

ID int 自增

img_url varchar 50



程序源码!

using System;

using System.Data;

 using System.Configuration;

 using System.Collections;

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;

public partial class _Default :

 System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e) {

 } protected void Button1_Click(object sender, EventArgs e) {

 IMG im = new IMG();

 string name = FileUpload1.FileName;

 string name2 = DateTime.Now.Year.ToString();//获取系统时间

 string name3 = DateTime.Now.Day.ToString();//获取系统时间

 string name5 = DateTime.Now.Month.ToString();//获取系统时间

 string name6 = DateTime.Now.Hour.ToString();//获取系统时间

string name7 = DateTime.Now.Minute.ToString();//获取系统时间

string name8 = DateTime.Now.Second.ToString ();//获取系统时间

string name9 = DateTime.Now.Millisecond.ToString();//获取系统时间

 int size = FileUpload1.PostedFile.ContentLength;

 if (size > 200000){ Response.Write("dfasdfasdfasdf"); } //判断图片大小

else {

 string type = FileUpload1.PostedFile.ContentType;//获取上传文件类型

string type2 = name.Substring(name.LastIndexOf(".") + 1);//获取文件扩展名

string ipath = Server.MapPath("upimg") + "\\" + name2 + name5 + name3 + name6 + name7 + name8 + name9 + "." + type2;//上传路迳--绝对路迳

string fpath = Server.MapPath("uptile") + "\\"+ name2 + name5 + name3 + name6 + name7 + name8 + name9 + "."+type2;//相对路迳

 string wpath = "upimg\\" + name2 + name5 + name3 + name6 + name7 + name8 + name9 + "."+type2; if (type2 == "jpg" || type2 == "gif" || type2 == "bmp" || type2 == "png") //判断是否为图片文件 {

 FileUpload1.SaveAs(ipath);//上传文件 Image1.ImageUrl = wpath; Label1.Text = "你传的文件名称是;" + name + "
文件大小为:" + size + "字节
文件类型是:" + type + "
后缀名是:" + type2 + "
实际路径是:" + ipath + "
虚拟路径是:" + wpath;

 } else Image1.Visible = false; FileUpload1.SaveAs(fpath); SqlDataReader recu = im.IMGPRO(wpath); Label1.Text = "你传的文件名称是;" + name + "
文件大小为:" + size + "字节
文件类型是:" + type + "
后缀名是:" + type2 + "
实际路径是:" + ipath + "
虚拟路径是:" + wpath; } GridView1.DataBind(); ///对用户输入进行编码 ///获取用户信息

 } protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e) { } protected void DataList1_SelectedIndexChanged(object sender, EventArgs e) {

 } }

新建类

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;

 ///

/// admin 的摘要说明 ///

 

public class IMGPRO {

public SqlDataReader IMGPRO(string simg_url)

{ ///创建链接 SqlConnection myConnection = new SqlConnection( ConfigurationManager.ConnectionStrings["bankconn"].ConnectionString);

//数据连接参数 ///创建

Command SqlCommand myCommand = new SqlCommand("img_pro", myConnection);//访问类型为存储过程

 ///设置为执行存储过程

myCommand.CommandType = CommandType.StoredProcedure;//访问类型为存储过程

///添加存储过程的参数

SqlParameter pimg_url = new SqlParameter("@img_url", SqlDbType.Varchar,50); pimg_url.Value = simg_url myCommand.Parameters.Add(simg_url);

///定义

DataReader SqlDataReader dr = null; try {

///打开链接 myConnection.Open();

///读取数据

dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection); }

 catch (SqlException ex) {

///抛出异常 throw new Exception(ex.Message, ex); } ///返回

DataReader return dr; } public SqlDataReader CkChk(string sUser_Name) {

///创建链接

 SqlConnection myConnection = new SqlConnection( ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);

///创建

Command SqlCommand myCommand = new SqlCommand("ckchk", myConnection); ///设置为执行存储过程

myCommand.CommandType = CommandType.StoredProcedure;

///添加存储过程的参数

 SqlParameter pUserName = new SqlParameter("@User_Name", SqlDbType.VarChar, 32);//

pUserName.Value = sUser_Name;

myCommand.Parameters.Add(pUserName);

///定义

DataReader SqlDataReader dr = null;

 try {

 ///打开链接

myConnection.Open();

///读取数据

dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);

}

catch (SqlException ex) {

///抛出异常

throw new Exception(ex.Message, ex); }

///返回

DataReader return dr; }

 

 

 

 新建存储过程

 

CREATE PROCEDURE dbo.img_url

 @Img_url varchar (50)

AS

 insert into

img

(img_url)

values(@img_url)

RETURN

 

 

小弟是第一次在博客园上写东东,写不好请多多见凉!

如有什么意见请提出;

如有什么不明白也可以提出,

我们大家相互讨论

 

posted on 2007-01-21 16:51  客星  阅读(640)  评论(2编辑  收藏  举报

导航