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;
///
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
小弟是第一次在博客园上写东东,写不好请多多见凉!
如有什么意见请提出;
如有什么不明白也可以提出,
我们大家相互讨论